home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio 2000 #2
/
Ham Radio 2000 - Volume 2.iso
/
HAMV2
/
TCP_IP
/
TNOS230B
/
COMMAND.HLP
(
.txt
)
< prev
next >
Wrap
Microsoft Windows Help File Content
|
1995-10-26
|
184KB
|
3,284 lines
? [commandname]
The TNOS '?' command provides a short list of all the top-level TNOS
commands.
When you specify a commandname, the "?" command acts the same as the "help"
command.
To obtain more help on a particular command, type the command name
followed by a question mark.
>> Example: attach ?
See also: help
! [<DOS_external_command>]
The '!' command serves as a alias for the "shell command.
:abort
abort [<session_number>]
Abort an FTP 'get', 'put' or 'dir' operation in progress. If
issued without an argument, the current session is aborted. (This
command works only on FTP sessions).
When receiving a file, 'abort' simply resets the data connection;
the next incoming data packet will generate a TCP RST (reset)
response to clear the remote server.
When sending a file, 'abort' sends a premature end-of-file.
Note that in both cases 'abort' will leave a partial copy of the
file on the destination machine; this copy must be removed
manually if it is unwanted.
>> Example: abort 3
Display the Address Resolution Protocol (ARP) table that maps IP
addresses to their link addresses (callsigns) on networks capable
of broadcasting. For each IP address entry the network type
(e.g. Ethernet, AX.25), network address and time to expiration is
shown. If the link address (callsign) is currently unknown, the
number of IP datagrams awaiting resolution is also shown.
arp add <host> ether|ax25|netrom|arcnet <ether_address>|<callsign> <iface>
Add a permanent entry to the table. It will not time out as will
an automatically created entry, but must be removed with the 'arp
drop' command.
>> Example arp add 44.26.0.19 ax25 wg7j-2 port1
arp drop <host> ether|ax25|netrom|arcnet <iface>
Delete a permanent entry from the arp table.
>> Example arp delete 44.26.0.19 ax25 port1
arp eaves [<iface>] [on | OFF]
Display or set the 'arp eavesdrop' function per interface. If
set, all arp replies overheard on the interface will be logged in the
arp table. This speeds up arp discovery, but might build a huge arp
table taking up lots of memory. Default for each interface is off.
>> Example: arp eaves port1 on
arp flush
Drop all automatically-created entries in the ARP table;
permanent entries are not affected.
arp maxq [n]
Display or set the maximum number of packets to be buffered
waiting for an arp resolution to finish. Default = 5.
>> Example arp maxq 5
arp poll [<iface>] [on | off]
Display or set the 'arp keepalive polling' per interface. If
set, when an arp entry expires, a query will be sent for the address.
This keeps the arp table fresh, but possibly retains many unneeded
entries.
>> Example arp poll port1 on
arp publish <hostid> ax25|netrom <callsign> <iface>
This command is similar to the 'arp add' command, but the system
will also respond to any ARP request it sees on the network that seeks
the specified address. (Use this feature with great care!)
>> Example arp publish 44.26.1.19 ax25 wg7j-2 port1
arp sort [ON | off]
Sorts the arp display
:asystat
asysyat
Display statistics on attached asynchronous communications interfaces (8250
or 16550A). The display for each port consists of three lines.
The first line gives the port label and the configuration flags; these
indicate whether the port is a 16550A chip, the trigger character if any,
whether CTS flow control is enabled, whether RLSD (carrier detect) line
control is enabled, and the speed in bits per second. (Receiving the
trigger character causes the driver to signal upper layer software that data
is ready; it is automatically set to the appropriate frame end character for
SLIP, PPP and NRS lines.)
The second line of the status display shows receiver (RX) event counts: the
total number of receive interrupts, received characters, receiver overruns
(lost characters) and the receiver high water mark (HWM).
The HWM is the maximum number of characters ever read from the device during
a single interrupt. This is useful for monitoring system interrupt latency
margins as it shows how close the port hardware has come to overflowing due
to the inability of the CPU to respond to a receiver interrupt in time.
8250 chips have no FIFO, so the HWM cannot go higher than 2 before overruns
occur. The 16550A chip, however, has a 16-byte receive FIFO which the
software programs to interrupt the CPU when the FIFO is one-quarter full.
The HWM should typically be 4 or 5 when a 16550A is used; higher values
indicate that the CPU has at least once been slow to respond to a receiver
interrupt.
When the 16550A is used, a count of FIFO timeouts is also displayed on the
RX status line. These are generated automatically by the 16550A when three
character intervals go by with more than 0 but less than 4 characters in
the FIFO. Since the characters that make up a SLIP or NRS frame are
normally sent at full line speed, this count will usually be a lower bound on
the number of frames received on the port, as only the last fragment of a
frame generally results in a timeout (and then only when the frame is not
a multiple of 4 bytes long).
Finally on the second line, the software FIFO overruns and HWM are displayed.
These indicate whether the <bufsize> parameter on the 'attach' command needs
to be adjusted.
The third line shows transmit (TX) statistics, including a total count of
transmit interrupts, transmitted characters, the length of the transmit
queue in bytes, the number of status interrupts, and the number of THREE
timeouts. The status interrupt count will be zero unless CTS flow control
or RLSD line control has been enabled. The THRE timeout is a stopgap measure
to catch lost transmit interrupts, which seem to happen when there is a lot of
activity (ideally, this will be zero).
The 'at' command is used to provide automatic starting of other
TNOS commands at predetermined times.
at time <cmd>
time takes the form yymmddhhmm
hhmm
mm
now+hhmm
<cmd> is any legal TNOS command. Multiple word commands must be
enclosed in double quotes (" "). Commands which invoke the DOS
shell must include '/c' or '!' as the first argument in order for
the shell to be exited and NOS to be re-entered automatically.
To automatically reissue the at command when the timer matures,
append a "+" character to the <cmd> string.
Example: at 0130 "! cleanup+"
Example: at now+0100 "ax25 flush+"
at k <id_num> <id_num>
This form of the 'at' command kills jobs <id_num>...
:attach
attach <hardware> <hw specific options>
Some of the possible hardware type are below. Not all are supported in
any specific compile. Use "attach ?" for a list of those supported
attach 3c500 <ioaddress> <vector> arpa <interface> <qlen> <mtu> [<ipaddr>]
attach asy <ioaddress> <vector> ax25 | nrs | ppp | slip <interface> <buffers>
<mtu> <speed> [<slip_options>]
attach asy <ioaddress> <vector> ax25 <interface> <buffers> <mtu> <speed>
attach asy <ioaddress> <vector> nrs <interface> <buffers> <mtu> <speed>
attach asy <ioaddress> <vector> ppp <interface> <buffers> <mtu> <speed>
attach asy <ioaddress> <vector> slip <interface> <buffers> <mtu>
<speed> [<slip_options>]
attach axip <interface> <mtu> <their_host> <my_axip_callsign>
attach drsi <ioaddress> <vector> ax25 <interface> <bufsize> <mtu>
<ch_a_speed> <ch_b_speed>
attach eagle <ioaddress> <vector> ax25 <interface> <bufsize> <mtu> <speed>
attach hapn <ioaddress> <vector> ax25 <interface> <bufsize> <mtu> csma | full
attach hs <ioaddress> <vector> ax25 <interface> <bufsize> <mtu>
<key_up_delay> <p>
attach kiss <existing_asy_interface> <port> <interface> [<mtu>]
attach netrom
attach packet <vector> <interface> <txqlen> <mtu>
attach pc100 <ioaddress> <vector> ax25 <interface> <bufsize>
attach pi
attach scc <devices> init <addr> <spacing> <Aoff> <Boff><Dataoff>
<intack> <vec> [p|r]<clock> [<hardware_type>] [<param>]
attach scc <chan> slip|kiss|nrs|ax25 <interface> <mtu> <speed>
<bufsize> [<callsign>]
attach slfp
:attended
attended [on|off] Default: on
Display or set the station attended flag. When set to 'on',
other stations can chat to you (with the 'ttylink' command, for
example).
>> Example: attended off
:autoroute
autoroute [yes | no]
Display or set the IP autorouting option.
When set, all AX.25 packets are analysed and remembered.
:ax25
ax25 <subcommands>
All AX.25 parameters are configurable per interface. Commands of
the form 'ax25 <command>' set the default or global values. Use
the 'ifconfig <iface> ax25 <command>' form to set or show the
interface-specific values.
To set the system default ax.25 parameters, you must do so BEFORE
attaching interfaces. After attachment, you must use the 'ifconfig
<iface> ax25' command form to show or change values for that interface.
ax25 alias <aliascall>
The alias command shows or sets the system's alias call. If
netrom is enabled, this modifies the same call as the 'netrom
alias' command. The 'ax25 alias' command is NOT needed in that
case! If netrom is not used, this command allows an alias name
to be set such that users can connect to it.
ax25 bbscall [<bbs_call>]
The bbscall subcommand sets or shows the current bbs callsign.
Connects to this callsign, when set properly, will "jump-start"
the mailbox. That is, after the connect no additional packet
need be sent to obtain the mailbox greeting. This subcommand
will automatically set the bbscall for all currently-attached
AX.25-class interfaces with no bbscall set. For bbscall to
function properly, it must differ from the system alias/netrom
alias, as well as the link address of the interface (usually
set by 'ax25 mycall').
See also 'ifconfig <iface> bbscall <bbs_call>'.
#Example: (in the following order)
'ax25 mycall N5KNX-1'
'ax25 alias KNX'
'ax25 bbscall N5KNX'
'attach <(all interfaces)>'
or
'ifconfig <name> bbscall <bbscall>' sets only iface <name>
ax25 bc <iface>
The bc command forces an immediate broadcast on the given
interface. The particular interface or port must have been
enabled with the ax25 bcport command first. If this is so, the ID
will be broadcast as set with the ax25 bctext commands.
ax25 bc port1
ax25 bcinterval [<seconds>]
(B) The bcinterval displays or sets the time in seconds between
broadcasts. On display, both the interval and the countdown
values are shown. Default = 600 (10 minutes).
ax25 bcport [<iface>] [on | OFF] (Deleted in 110x16)
Display or set the active interfaces for ax.25 broadcasting (i.e.
beacons). You must add this statement for each port that the
system should beacon on. Default is off.
ax25 bcport port1 on
ax25 bctext ["broadcast text"]
Display or set the default text to be sent for broadcast messages
sent out every ax25 bcinterval seconds.
See also 'ifconfig <iface> beacon ["bctext"].
ax25 bctext "This is the beacon text!"
ax25 blimit [<secs>]
(B) Display or set the default AX25 retransmission backoff
limit. Normally each successive AX25 retransmission is delayed
by twice the value of the previous interval; this is called
binary exponential backoff. When the backoff reaches the blimit
setting it is held at that value. Default = 30.
To prevent the possibility of "congestive collapse" on a loaded
channel, blimit should be set at least as high as the number of
stations sharing the channel. Note that this is applicable only
on actual AX25 connections; UI frames will never be retransmitted
by the AX25 layer.
#Set ax25 blimit to 15 seconds
ax25 blimit 15
ax25 dest [<iface>]
Display the destinations saved in the heard list, for all interfaces
with heard list maintenance enabled, or for the just the specified
interface. See also "ax25 heard".
ax25 digipeat [<iface>] [ON | off]
Display or set digipeating per interface. If cross-band or AXIP
digipeating is to be allowed, digipeating must be enabled on both
interfaces involved. Default is on.
# Display digipeat status of port1
ax25 digipeat port1
ax25 filter N Default: 0
Sets the ax.25 heard list filtering value. This is a global value
that affects all ports with heard list maintenance set to ON.
0 => log both source and destination callsigns
1 => do not log source callsign
2 => do not log destination callsign
3 => do not log any callsign, ie, disable all heard list updates
ax25 flush
Clears the AX.25 "heard" list (see ax25 heard and ax25 hport)
ax25 heard [<iface>]
Display the AX.25 "heard" list. For each interface that is
configured to use AX.25 heard listing (see 'ax25 hport'), a list
of all ax25_source addresses heard on that interface is shown,
along with a count of the number of packets heard from each
station and the time since each station was last heard. The
maximum length of the heard table can be set with the 'ax25
hsize' command. If interface is given, only the heard list for
that interface is displayed.
ax25 heard port1
ax25 hport [<iface>] [ON | off]
Display or set the status of the ax.25 heard feature. If no
interface is given, all interfaces with ax.25 heard enabled will
be listed. If interface is given, the status of ax.25 heard for
that interface is shown. Default is on.
#Display port1 status
ax25 hport port1
ax25 hsize [<size>]
Set or display the size of the heard list table. Default is 0
which means no limit.
ax25 irrt [<milliseconds>]
(B) Display or set the initial value of smoothed round trip time
to be used when a new AX25 connection is created. The actual
round trip time will be learned by measurement once the
connection has been established. Default is 5000ms.
#Set irtt to 10 seconds (10000 milliseconds)
ax25 irtt 10000
ax25 kick <axcb>
Force a retransmission on the specified AX.25 control block. The
control block address can be found with the ax25 status command.
This is useful to reactivate connections that have long time-out
values.
ax25 maxframe [<count>]
(B) Establish the maximum number of frames that will be allowed
to remain unacknowledged at one time on new AX.25 connections.
This number cannot be greater than 7. Without <count> it will
display the current setting. Note that the maximum outstanding
frame count only works with virtual connections. UI frames are
not affected. Also note that for optimal performance, a value of
1 should be used. Default is 1 frame.
ax25 maxwait [<msec>]
Sets a limit (in msec) to the retry timeout values. Default =
30000 (30 secs). A value of 0 disables maxwait.
ax25 mycall [<ax25call>]
Display or set the default local AX.25 address. The standard
format is used, (e.g. WG7J or KA7EHK-5). This command must be
given before any attach commands using AX.25 mode are given.
ax25 mycall wg7j-3
ax25 paclen [<size>]
(B) This sets the default paclen used when attaching interfaces
that will carry AX.25 connections. See also 'ifconfig <iface>
paclen'. Default is 256 bytes.
This parameter limits the size of I-fields on new AX.25
connections. If IP datagrams or fragments of datagrams larger
than paclen are transmitted, they will be transparently
fragmented at the AX.25 level, sent as a series of I frames, and
reassembled back into a complete IP datagram or fragment at the
other end of the link. IP datagrams will not be affected if this
parameter is greater than or equal to the MTU of the associated
interface.
If NET/ROM communication is configured, the NetRom MTU value
should be Paclen - 20. !!! The Net/Rom header takes 20 bytes,
and is part of the AX25 data. Default netrom mtu is 236.
Note1: the AX.25 Level 2 Version 2 definition specifies a
maximum paclen of 256 bytes. Some systems are not equipped to
handle larger packets (e.g. G8BPQ based systems), so be careful
when using this parameter.
ax25 pthresh [<size>]
(B) Display or set the poll threshold to be used for new AX.25
Version 2 connections. The poll threshold controls
retransmission behavior as follows. If the oldest unacknowledged
I-frame size is less than the poll threshold, it will be sent
with the poll (P) bit set if a time-out occurs. If the oldest
unacked I-frame size is equal to or greater than the threshold,
then a RR or RNR frame, as appropriate, with the poll bit set
will be sent if a time-out occurs.
The idea behind the poll threshold is that the extra time needed
to send a "small" I-frame instead of a supervisory frame when
polling after a time-out is small, and since there's a good
chance the I-frame will have to be sent anyway (i.e., if it were
lost previously) then you might as well send it as the poll. But
if the I-frame is large, send a supervisory (RR/RNR) poll instead
to determine first if retransmitting the oldest unacknowledged I-
frame is necessary; the time-out might have been caused by a lost
acknowledgment. This is obviously a tradeoff, so experiment with
the poll threshold setting. The default is 128 bytes, one half
the default value of <paclen>
ax25 reset <axcb>
Delete the AX.25 connection control block at the specified
address. This deletes a connection and everything associated with
it. The control block address can be found with the 'ax25 status'
command.
ax25 retries [<count>]
(B) Limit the number of successive unsuccessful retransmission
attempts on new AX.25 connections. If this limit is
exceeded, link re-establishment is attempted. If the link can't
be re-established in <count> times, then the connection is
abandoned and all queued data is deleted. Default is 5.
ax25 route [<subcommand>]
Without optional subcommands, display the AX.25 routing table
that specifies the digipeaters to be used in reaching a given
station.
ax25 route add <target> <iface> [digis ...]
Add an entry to the AX.25 routing table. An automatic 'ax25
route add' is executed if digipeaters are specified in an AX25
link from the node or a connection is received from a remote
station via digipeaters. Such automatic routing table entries
won't override locally created entries, however. <target> is
the destination call to reach via digipeaters <iface> is the
interface this is a route for.(I.e. allows different digi
routes for different interfaces.) [digis...] is a list of one
or more digipeaters, separated by spaces.
ax25 route add k7uyx-1 port1 wg7j wa7tas n7dva
ax25 route drop <target> <iface>
Drop an entry for <target> from the AX.25 routing table.
ax25 route drop k7uyx-1 port1
ax25 route mode <target> <iface> [vc|dg|interface]
Sets the interface ip mode to one of vc | datagram |
interface for target. This indicates how ip links to the
destination call <target> should be established. If nothing
is given for a certain destination or target, the interface
default mode is used, which defaults to datagram. (See also
the 'mode' command).
vc is a virtual circuit (ax25 connected mode, meaning
that ip frames are sent using ax.25 connections)
datagram is unconnected mode, (AX25 UI frames).
interface is the default interface mode, as set with the
'mode' command.
ax25 route mode k7uyx-1 port1 vc
ax25 status [<axcb>]
Without an argument, display a one-line summary of each AX.25
control block. If the address of a particular control block is
specified, the contents of that control block is shown in more
detail. Note that the send queue units are frames, while the
receive queue units are bytes.
ax25 t3 [<milliseconds>]
(B) Display or set the AX.25 idle "keep alive" timer. Value is
in milliseconds. Default is 0, i.e. no 'keep-alive' polling.
ax25 t4 [<seconds>]
(B) Display or set the AX.25 Link "redundancy" timer. Value is
in seconds. When no exchange has been had during this time the
link is reset and closed. Default = 900 seconds (15 minutes).
ax25 timertype [LINEAR|exponential|original]
(B) Sets or displays the type of timer used for retransmission
and recovery. Linear means that each retry will use a time-out
that is RTT greater then the previous time-out. I.e. 4 sec, 8
sec, 12 sec, 16 seconds etc. Exponential means that each retry
will use a time-out that is twice as large as the previous time-
out. I.e. 4 seconds, 8 seconds, 16 seconds, 32 seconds etc.
Original means that each retry will use a time out that is twice
the RTT, i.e. 4 seconds, 8 seconds, 8 seconds, 8 seconds, etc.
Default is linear.
ax25 timertype exponential
ax25 ttycall [ttycall]
Set or display the tty-link call for direct keyboard access.
Remember to have both 'attended on' and 'mbox attend on' to be
able to use this function.
ax25 version [n]
(B) Display or set the version of the AX.25 protocol to attempt
to use on new connections. Version 1 is the version that does
not use the poll/final bits. Default is version 2.
ax25 window [<size>] Default: 512 bytes
(B) Set the number of bytes that can be pending on an AX.25
receive queue beyond which I frames will be answered with RNR
(Receiver Not Ready) responses. This presently applies only to
suspended interactive AX.25 sessions, since incoming I-frames
containing network (IP, NET/ROM) packets are always processed
immediately and are not placed on the receive queue. However,
when an AX.25 connection carries both interactive and network packet
traffic, an RNR generated because of backlogged interactive traffic
will also stop network packet traffic from being sent.
:axui
axui <iface> [<unproto_call>]
The axui command allows the console user to create a session that
sends UI (unproto) packets to <unproto_call> via interface <iface>,
from lines entered at the keyboard, and displays received UI
packets. A split-screen session is created where possible.
The default <unproto_call> is "ID". At most one axui session is
permitted. AXUISESSION must be defined in config.h to enable
this command.
An axui session also allows a few commands, which begin with
'/' in column 1:
/c newcall change the unproto call to <newcall>
/i iface change to interface <iface>
/? or /h display a help message
/t toggle display of the time a packet was received
/q, /b, /e close the axui session
Example:
To use digipeater n5nkx-5 for a local ARES unproto net, type:
ax25 route add ares ax0 n5knx-5
axui ax0 ares
Enters your own Mailbox. For a list of all Mailbox commands, use the "?" and
"help" command in the Mailbox.
:bulletin
bulletin <subcommand>
The 'bulletin' command establishes how TNOS treats incoming
bulletins based on their R: line headers.
bulletin check [on | OFF]
Displays or sets a flag indicating bulletin forwarding is to be
optimized. If <ON>, an incoming bulletin's R: lines are scanned for
BBSes to which we forward. If any are found, the bulletin is marked
as having already been forwarded to that BBS. When invoked with no
options, the list of BBSes to which we forward is also displayed.
bulletin loophold [<count>] Default: 2
Displays or sets a counter which, if exceeded by the number of times
our call appears in a message's R: line headers, causes the message
to be Held to avoid a message-forwarding loop. A held message is
visible only to the sysop, and has a "X-BBS-Hold: loop" header added.
bulletin date [on | OFF]
Displays or sets whether the date associated with a message is
the originate date (if ON), or the date received (if OFF). The
originate date is obtained from the last R: line, and should
yield better operation of the bulletin expire mechanism.
bulletin return [on | OFF]
Displays or sets how a message's return address is obtained.
If ON, the return address is obtained from the last R: header line
when available. If OFF, sender%forwarding.bbs@mycall is used.
:connect
connect <interface> <callsign> [<digi_callsign> ...]
Initiate a "vanilla" AX.25 session to the specified <callsign> using the
specified <interface>. Data sent on this session goes out in conventional
AX.25 packets with no upper layer protocol. The de-facto presentation
standard format is used, in that each packet holds one line of text,
terminated by a CR.
Up to 7 optional digipeaters may be given; note that the words 'via' or 'v'
are NOT used. If digipeaters are specified, they are automatically added to
the AX.25 routing table as though the 'ax25 route add' command had been given.
After giving the 'connect' command, you should get "Conn Pending" and then
"Connected" messages. At this point, you're connected just like using a
plain old TNC.
When you're ready to disconnect, use the <F10> key to escape from the session
back to the Command Session prompt, and then give the 'disconnect' command.
See also: split
>> Example: connect tnc0 AX9AAA AX9DIG
:callserver
callserver <subcommand>
The 'callserver' command configures the CDROM callsign server.
Depending on how TNOS was compiled, one of Buckmaster, Buckmaster
International, Sam, or QRZ! CDROMs is supported.
callserver hostname [<hostid>]
Sets or displays the <hostid> of the callsign server. A telnet
connection will then be attempted to <hostid> at port 1235, when
the 'callbook' command is used to request a lookup.
callserver database [<path>]
Sets or displays the path to the Buckmaster CDROM callsign database
file.
callserver tsrirq [<software_irq_in_decimal>]
Sets or displays the software IRQ used to communicate with the
Buckmaster driver called bucktsr.exe. This program must be loaded
before TNOS, and it displays the IRQ it will use as it loads. The
irq is specified in decimal (since the /I option to bucktsr takes a
decimal value when specifying an alternate to the default value 102).
This subcommand is available when TNOS is compiled with BUCKTSR
defined.
:callbook
callbook <callsign>
Looks up the specified callsign at the callbook server defined
with the callserver command.
cd [<directory>]
Changes the current directory to <directory>, which must be an
existing directory on the local machine.
The directory specified can be relative to the current directory,
or absolute, with the name beginning at the DOS root (/).
Without an argument, 'cd' simply displays the current directory
without change.
The 'pwd' command is an alias for 'cd'.
>> Example: cd spool/mqueue
:close
close [<session_number>]
Close the specified session. If you are running only one session, entering
'close' without arguments will close the session. If you have multiple
sessions, entering 'close' without arguments will initiate a close on the
current session.
If you are running multiple sessions, the 'session' command will display a
list of these sessions.
Entering 'close' with a session number argument will initiate a close on the
specified session.
On an AX.25 session, this command initiates a disconnect.
On an FTP or Telnet session, this command sends a FIN (i.e. initiates a close)
on the session's TCP connection. This is an alternative to asking the remote
host to initiate a close (QUIT to FTP, or the logout command appropriate for
the remote system in the case of Telnet).
If you are in an FTP or Telnet Converse session, you will have to press <F10>
to escape to the "net>" prompt to issue the 'close' command. When either FTP
or Telnet sees the incoming half of a TCP connection close, it automatically
responds by closing the outgoing half of the connection. 'Close' is more
graceful than the 'reset' command, in that it is less likely to leave the
remote host in a "half-open" state.
>> Example: close 3
Clears the current screen
:color
color <background> <foreground>
:comm
comm <interface> "<string>"
The 'comm' command sends a text-string via <interface>. This can
be used to send straight text to a TNC still in native TAPR
command mode during NOS startup.
Note that the string is enclosed by double quote characters to
preserve spaces, tabs etc.
>> Examples: comm tnc0 "MYCALL NS9BOB-5"
comm tnc0 "MID 179" (set CW ID interval)
comm tnc0 "KISS ON"
:conference
conference [hostname] [channel]
Enter the Conference Bridge at "hostname" (or locally, if no "hostname" is
given). If "channel" is given, the initial channel will be set to "channel".
>> Example: conference ko4ks 105
:convers
The following are from the jnos commands.hlp <<<< same for TNOS ???
convers <subcommands>
These commands configure the network conference server. See the
section 'SETTING UP THE CONFERENCE BRIDGE' in the JNOS documentation for
details on the inner workings of the conference system. NOTE: in the
JNOS40 CONFIGURATION MANUAL, the relevant section is called 'Configuring
the Conference Bridge'.
convers channel <default_chan_number>
Displays or sets the default channel number, that is, the initial
channel to which new users are assigned.
convers channel 2
convers drop <name>
Drop the remote convers link to <name>. See also 'convers link'.
convers drop 44.26.1.19
convers filter
Set how the convers node will respond to connect requests.
convers filter mode [accept | refuse]
Sets or displays the filter mode. 'filter mode accept' allows
links from only the hosts in the filter list. 'filter mode
reject' allows links from all hosts except those in the list.
convers filter [ipaddress | hostname]
Builds the filter list used in conjunction with the 'convers
filter mode' command.
convers host <name>
Displays or set the convers hostname as will be used when
announcing the system to conference users or remote links.
Maximum length is 10 chars, but if you want to stay compatible
with NOS.EXE based convers servers use a maximum of 8 character
for the convers host name (unless the system runs jnos-v1.04 or
later).
If the 'hostname' gets set and the 'convers host' isn't set yet,
it will be set to the first 10 chars of the 'hostname'. After
this, if any sub domains (i.e. periods) exist in the hostname,
the convers hostname will be terminated at the right-most period.
e.g. If 'converse host' is not set, and 'hostname
jnos.wg7j.ampr.org' is given, then after this the converse
hostname will be 'jnos.wg7j'.
convers host Corvallis
convers interface [<iface>] [on|OFF]
Displays or sets the active convers interfaces. This command
needs to be given for each interface that which will allow
connections to the conference call (see 'convers mycall'); e.g.,
this command can be used to allow conference call access only on
the user ports but not on the backbone/linking ports. This can
also be useful to avoid confusion when different nodes have the
same conference call. (Locally, we use the call 'QSO' for the
conference server for different nodes, and ran into problems when
a user tried to connect to it from a backbone node. All of a
sudden two nodes were answering the connect !) Default is off.
convers interface port1
convers link <addr> [name]
Add a convers link to another (remote) conference server.
<addr> is the ip address or hostname of the remote server to link to.
[name] is the optional name that will show up in the links
listing shown with the '/links' command if the link has not yet
been established. [name] can be a maximum of 10 characters.
After the link has been established, the name will be set to the
name the remote system introduced itself with. The link command
will automatically add an entry for this host into the 'refuse-
list' (See 'convers refuse' command.) This is to avoid dual
links, and convers loops.
convers link 44.26.1.19 Testing
convers [u|h]maxq [<bytes>] {JNOS}
Display or set the upper limit for the number of bytes that can
be queued up waiting for transmission on a connection to another
server. If there is more data than this limit, the connection to
the other server will be closed.
You are able to set individual limits for users and hosts
with 'convers hmaxq' and 'convers umaxq'. If set to 0, there is
no limit, otherwise connections will be reset if there is more
than the []maxq value data outstanding on the connection. The
connections will be RESET instead of gracefully closed.
convers maxwait [<seconds>]
Display or set the upper limit for the time the system will wait
to reestablish a disconnected convers link that originated at
this system. Time is given in seconds.
convers maxwait 600
convers motd ["<yourmessage>"]
Set or show the message of the day for the convers server. This
message is displayed when users connect to the server.
NOTE: this option is obsolete in recent convers implementations.
Instead, the contents of the file /spool/convmotd.txt are displayed.
This filename can be changed by setting the ConvMotd string in nos.cfg.
convers <mycall>
Display or set the 'conference call'. 'mycall' is a separate
ax.25 callsign. If set, users can connect to it to get
immediately connected to the conference bridge. However, each
port or interface that this call should be allowed on should be
enabled with the 'convers interface' command. Conference call
connections bypass the regular node interface. This is
independent from the settings of 'mbox convers' or whether the
network conference server has been started. See also 'convers
t4'.
convers mycall QSO
convers setinfo [yes | NO]
Display or the set the ability of conference users to change their
personal info as stored in /finger/dbase.dat. This sub-command is
only available when CNV_CHG_PERSONAL was defined when TNOS was
compiled.
convers t4 [<seconds>] Default: 7200
(B) Display or the set the conference call connection T4 timer.
t4 is the 'redundancy timer' for ax.25 connections to the
conference server. This allows you to set a different inactivity
time-out for ax25 node and conference connections. Default is
7200, i.e. 2 hours.
convers t4 900
convers tdisc [<seconds>] Default: 0
Display or the set the conference call general redundancy timer
that applies to all connections to the conference server. Connections
which are idle longer than <seconds> will be disconnected.
Default is 0, i.e. disable idle timeouts.
convers tdisc 1200
Files used by the convers facility:
Keyword Default value Usage
ConvMotd /spool/convmotd.txt Connect greeting.
Cinfo /finger/dbase.dat Convers user personal info
Cinfobak /finger/dbase.bak Previous Cinfo file (after update)
Channelfile /spool/channel.dat Channel number to name mapping
Cinfo line format: <name|call> <personal data, ie, QTH, etc>
Channelfile line format: <channel_number> <channel_name>
:copy
copy <file> <newfile>
Copies the filename to the destination new filename.
Functions the same as the DOS copy command.
:disconnect
disconnect [<session_number>]
An alias for the 'close' command (for the benefit of AX.25 users).
If you are in AX.25 converse mode, press <F10> to escape back to the Command
Session prompt to issue this command. If you are running only one session,
entering 'disconnect' without arguments will terminate the connection. If
you have multiple sessions, entering disconnect without arguments will
initiate a close on the current session.
If you are running multiple sessions, the "session" command will display a
list of these sessions. Entering 'disconnect' with a session number argument
will initiate a 'close' on the specified session. After entering disconnect,
you should get "Disc pending" and then "Disconnected" messages.
>> Example: close 3
:delete
delete <filename>
Delete a filename in the current working directory.
>> Example: delete foo.txt
:detach
detach <interface>
Detach a previously attached interface from the system. All IP routing table
entries referring to this interface are deleted, and forwarding references by
any other interface to this interface are removed.
>> Example: detach tnc0
:dialer
dialer <interface> [<dialer_file> [<seconds> [<pings> [<host>]]]]
Set up an autodialer session for the interface. Whenever the interface
is idle for the interval in <seconds>, the autodialer will ping the
<hostid>. If there is no answer after <pings> attempts, the autodialer
will execute the special commands contained in the <dialer_file>.
If the interval in <seconds> is zero, a previous dialer command process
will be removed. If the number of <pings> is zero, the <dialer_file>
will be executed without pinging the <host>.
The file may have any valid name, and must be located in the TNOS root
directory.
>> Examples: dialer sl0 20 ns9tel ns9tel.dia
dialer sl0 ns9tel.dia 30 10 ns9tel
DIALER FILE COMMANDS
====================
control down|up
Control the 'asy' interface. The 'down' option drops DTR and RTS.
The 'up' option asserts DTR and RTS.
>> Example: control down
send "<string>"
This dialer command will write the specified string to the interface.
The string quote marks are required, and the string may not contain
embedded control characters. However, the standard C string escape
sequences are recognized (but \0 should not be used).
>> Example: send "atdt555-1212"
speed [ 9600 | 4800 | 2400 | 1200 | 300 ]
This command sets the speed of the interface to one of the available
speeds. If the speed is missing, the speed will be displayed in the
dialer session window.
>> Example: speed 1200
status [up | down]
wait <milliseconds> [ "test_string" ] [<speed>]
If only the time is specified, the dialer pauses for the desired number
of milliseconds. Otherwise, the dialer reads until the <test_ string>
is detected on the interface.
If the string is not detected within the desired time, the autodialer
will reset. The string quote marks are required, and the string may
not contain embedded control characters. However, the standard C string
escape sequences are recognized (but \0 should not be used).
If the <speed> parameter is specified, the dialer will continue to read
characters until a non-digit is detected. The string read is converted
to an integer, and used to set the interface speed. If the trailing
non-digit is not detected within the desired time, or the integer value
is not a valid speed, the autodialer will reset.
>> Example: wait 45000 "CONNECT" 1200
dir [<dirname>]
List the contents of the specified directory on the console. If no argument is
given, the current directory is listed.
Note that this command works by first listing the directory into a temporary
file, and then creating a 'more' session to display it. After this completes,
the temporary file is deleted.
>> Example: dir spool/mail
:domain
domain <subcommand>
The domain commands control and show the working of the name to
Internet address mapping software (referred to as DNS: Domain Name Service).
TNOS has both a DNS client and a server. The server will answer queries from
data in the domain cache, and from information stored in the DOMAIN.TXT file.
The DNS server is only available when DOMAINSERVER is defined in config.h,
but the DNS client is always available.
domain addserver <hostid> [<timeout>]
Add a domain name server to the list of name servers.
<timeout> is an optional timeout setting in seconds for
this server. If <timeout> is not included in the command, the
value defaults to 3 * (tcp_irtt).
Example: domain addserver wg7j.ece.orst.edu
domain addserver 128.193.48.1
domain addserver ucsd.edu
domain cache <subcommand>
The following commands work on the domain cache, which contains
resource records held in memory (see RFC1033/1034).
domain cache clean [<yes | NO>]
Displays or sets the discarding of expired resource records.
Expired records have their time-out value decremented to zero.
Normally resource records get a default time-out value of 1800
seconds. After this time they are considered "old" and if
referenced again the domain name resolver should be inquired
again. When clean is NO (the default), expired records will
be retained; if no replacement can be obtained from another
domain name server, these records will continue to be used.
When clean is YES, expired records will be removed from the
file whenever any new record is added to the file.
domain cache dump
Immediately clears the domain cache.
domain cache list
This command shows the current content of the in-memory cache
of resource records.
domain cache size [<size>] Default: 5
(B) Display or set the maximum size (number of entries) of
the local in-memory domain cache.
Example: domain cache size 10
domain cache wait [<secs>] Default: 300
Display or set the number of seconds which must elapse before
the domain.txt file is updated from the resource records stored
in the domain cache. Updating is controlled by the 'domain
update' command (see also).
domain dns [on|off]
(B) Display or toggle the state of the Domain Name Server. If
on, the system is active as a Domain Name Server. The system will
then answer queries from other tcp/ip hosts regarding hostname to
ip-address, and ip-address to hostname translations.
The dns subcommand is only available when DOMAINSERVER was defined
when TNOS was compiled.
domain dropserver <hostid>
Remove a domain name server from the list of name servers. You
are warned when you delete the last name server.
Example: domain dropserver ece.orst.edu
domain listservers
List the currently configured domain name servers, along with
statistics on how many queries and replies have been
exchanged with each one, response times, etc.
domain look <search_text>
This command searches domain.txt and displays records matching
<search_text>. The supplied <search_text> must match exactly, ie,
case is significant. This subcommand is available only if
MORESESSION was defined when TNOS was compiled.
domain maxclients [<N>] Default: 6
This command sets or displays the maximum number of simultaneous
DNS server processes allowed. This subcommand is available only if
DOMAINSERVER was defined when TNOS was compiled.
domain maxwait [<time-out>]
(B) This sets a time-out value (1 to 255 seconds) for a query of
a domain name server. This is not set for an already defined
server but will be used for a newly defined name server. Also
the value is used for domain name lookups (E.g. when a user does
a telnet to a host with the nodeshell 'T host' command). Note
that (PC based) name servers can have trouble finding records in
a large database. Default is 60 seconds.
Example: domain maxwait 10
domain retries [<retries>]
(B) The retry value (number) limits the number of queries sent
out to remote domain name resolvers before giving up and telling
you that host xyzzy.ampr.org does not exist. The total time lost
with a query is (retries * time-out * number of domain servers
defined); i.e., the delay between requesting a hostname to ip-
address translation and getting the answer can become very long
if you use many servers, and set the time-outs/retries high !
Default is 2.
Example: domain retries 1
domain subnet [ON | off]
This command works in conjunction with 'domain translate' to
allow or disallow translation of any address ending in 0 or 255.
On systems which have a lot of subnets, turning off subnet
translation can result in a considerable speedup when displaying
routes with 'domain translate on'.
domain suffix [<domain suffix> | none]
Display or specify the default domain name suffix to be appended
to a host name when it contains no periods. For example, if the
suffix is set to "ampr.org." and the user enters 'telnet ka9q',
the domain resolver will attempt to find 'ka9q.ampr.org.' If the
host name being sought contains one or more periods, however, the
default suffix is NOT applied if the last part of the name is
less than 5 characters and contains only letters; e.g., 'telnet
foo.bar' would NOT be turned into 'foo.bar.ampr.org.' 'telnet
foo.ka9q' will be turned into 'foo.ka9q.ampr.org.' Note that a
trailing dot (.) is required for the suffix. If the suffix is
the string 'none' (without trailing period), the current suffix
is cleared and forgotten. Default is "ampr.org."
Example: domain suffix ece.orst.edu.
domain trace [on| OFF]
(B) Display or set the flag controlling the tracing of domain
server requests and responses. This only works when console is
enabled. Default is off.
Example: domain trace on
domain translate [on | OFF]
(B) Display or set the flag that controls the translation of ip
addresses in dot notation into symbolic names. The translation
process makes heavy use of reverse domain name lookups. Do not
set this flag unless you have a good and fast connection to a
domain name server.
Example: domain translate on
domain ttl [ttl]
Select a default 'ttl' value to be applied to server responses
than contain none. This subcommand is available only if
DOMAINSERVER was defined when TNOS was compiled.
domain update [ON | off]
Controls whether or not the domain.txt file is updated with server
responses. See also 'domain cache wait'.
domain verbose [on | OFF]
(B) Display or set the flag controlling the return of a full name
(on) or only the first name (dot delimiter) (off). This is for
IP address to name translation only. If off, home.wg7j.ampr.org.
will show as 'home.wg7j', whereas if on it will show as
'home.wg7j.ampr.org'
Example: domain verbose on
:dump
dump <hex_memory_address> | <.> [<decimal_range>]
The 'dump' command shows memory in hex and ascii.
<hex_memory_address> is a 32-bit value for a PC, split into page address and
page offset. A colon delimiter between page and offset is neither used nor
accepted.
If decimal-range is not given, 128 bytes are displayed.
>> Example: dump 1a2b3c4d (to dump from address 1a2b:3c4d)
This produces a display of the form:
................................................................
| Main Memory Dump Of Location 1A2B:3C4D |
|Addr (offset) Hexadecimal Ascii |
|---- ----------- ----- |
| |
|0000 16 26 ff 77 14 1e b8 ... 02 02 cd 41 83 .&.w..8>"P...MA.|
|0010 c4 08 3d ff ff 75 05 ... 19 c4 5e ee 26 D.=..u.8..k.D^n&|
|0020 c4 1f 8c 46 f0 89 5e ... 0b 46 f0 74 03 D..Fp.^n.Fn.Fpt.|
|0030 e9 b9 fe 33 c0 8b e5 ... ec 83 ec 04 c4 i9~3@.e]KU.l.l.D|
|0040 1e c2 77 8c 46 fe 89 ... c4 5e fc 26 8b .Bw.F~.^|k2D^|&.|
|0050 57 28 26 8b 47 26 bb ... 1f 3b d1 75 11 W(&.G&;..9..;Qu.|
|0060 3b c3 75 0d ff 76 fe ... e8 1d 00 83 c4 ;Cu..v~.v|.h...D|
|0070 04 c4 5e fc 26 c4 1f ... 5e fc 8b 46 fc .D^|&D..F~.^|.F||
|..............................................................|
:echo
echo [accept|refuse] Default: accept
Display or set the flag controlling client Telnet's response to a remote WILL
ECHO offer.
The Telnet presentation protocol specifies that in the absence of a negotiated
agreement to the contrary, neither end echoes data received from the other.
In this mode, a Telnet client session echoes keyboard input locally and
nothing is actually sent until a CR is typed.
Local line editing is also performed: backspace deletes the last character
typed, while control-U deletes the entire line.
When communicating from keyboard to keyboard the standard local echo mode is
used, so the setting of this parameter has no effect. However, many
timesharing systems (e.g. UNIX) prefer to do their own echoing of typed input.
(This makes screen editors work right, among other things). Such systems send
a Telnet WILL ECHO offer immediately upon receiving an incoming Telnet
connection request.
If 'echo accept' is in effect, a client Telnet session will automatically
return a DO ECHO response. In this mode, local echoing and editing is turned
off and each key stroke is sent immediately (subject to the Nagle tinygram
algorithm in TCP).
While this mode is just fine across an Ethernet, it is clearly inefficient and
painful across slow paths like packet radio channels. Specifying 'echo
refuse' causes an incoming WILL ECHO offer to be answered with a DONT ECHO;
the client Telnet session remains in the local echo mode. Sessions already in
the remote echo mode are unaffected. (Note: Berkeley Unix has a bug in that
it will still echo input even after the client has refused the WILL ECHO
offer. To get around this problem, enter the 'stty - echo' command to the
shell once you have logged in).
>> Example: echo accept
eol [unix | standard] Default: standard
Display or set Telnet's end-of-line behavior when in remote echo mode. In
'standard' mode, each key is sent as is. In 'unix' mode, CRs are translated
to LFs.
This command is not necessary with all UNIX systems; use it only when you find
that a particular system responds to LFs but not to CRs.
Only SunOS release 3.2 seems to exhibit this behavior; later releases are fixed.
>> Example: eol standard
:escape
escape
escape [<literal_char>] Default: CTRL-]
Display or set the current command-mode escape character. The
character has to be entered as a literal character.
The escape character returns control to the "net>" prompt, and
functions the same way as F10.
:errors
errors [ON | off]
Set whether the system will send messages about system errors and
permission infringements to user 'sysop'. Default is on.
:exit
Exit from NOS and return to DOS.
:expire
expire <subcommand>
The 'expire' command is used to invoke the process which deletes
old BBS messages. The mailboxes or newsgroups to be expired, and the
age (in days) after which a message may be deleted, are specified in
the Expirefile (defaults to /spool/expire.dat).
expire [now | interval]
Begin the expire process immediately, if <now> is specified, or
every <interval> hours in the future (but no immediate expire is
done). If no arguments are provided, the current expire interval
is displayed.
Example: To run expire at 04:30 each morning, place these
commands into your autoexec.nos file
at 0430 "expire 24"
at 0431 "expire now"
Format of Expirefile:
#comment line
mbox_name number_of_days_to_retain_messages
mbox_path number_of_days_to_retain_messages
!news.group.name number_of_days_to_retain_articles
If the number of days is omitted, 21 is used. Also, if newsgroups
are specified, the associated History file is expired as well, but
the number of days used is the maximum of all the days provided for
newsgroups in the Expirefile.
Example: allusa 7
amsat 10
!swap 10
!rec.radio 7
:finger
finger <username[@host]> [<username[@host]> ...]
Issue a network 'finger' request for <username> at <host>. Finger is typically
used to find out specific information about users on local or remote hosts.
By fingering a user, you can find out such information as a user's name, his
mailing address, telephone number, QSL information, and other useful facts.
This information is kept in a separate text file for each user.
The finger command under NOS can be issued in any of the following three ways:
finger <username> >> Examples: finger bob
finger <username>@<host> finger bob@ns9bob
finger @<host> finger @ns9bob
:finger
finger <username[@host]> [<username[@host]> ...]
Issue a network 'finger' request for <username> at <host>.
Finger is typically used to find out specific information about
users on local or remote hosts. By fingering a user, you can
find out such information as a user's name, his mailing address,
telephone number, QSL information, and other useful facts. This
information is kept in a separate text file for each user.
As our network expands, this application will help hams find out
information about each other quickly and efficiently.
The finger command under NOS can be issued in any of the
following three ways:
finger <username> >> Examples: finger n8fow
finger <username>@<host> finger n8fow@n8fow
finger @<host> finger @n8fow
The first form of the command is used to find out information
about a user at the local host, namely your own system. It is
useful for testing 'finger' on a system that you know is running.
The second form of the command is used to find out information
about a user at a remote host.
If you don't know the name of a particular user at a remote host,
you can use the third form of the command. This command returns
a list of all 'finger' files on the remote system.
To enable the finger server so that others may query the users on
your system, you must give the 'start finger' command. The finger
files that provide information on a <username> are located by
default in \finger (see Fdir and Fdbase in nos.cfg), and are
ordinary ASCII files created by the sysop. Also, if the SAM or
QRZ callbook server is configured, <username> is looked up in the
callbook and displayed if the search is successful.
Certain <username> strings are taken to mean that a TNOS function
should be invoked to display system information, depending on
what configuration options were used to build the server TNOS:
<username> config_opt output_same_as
conf CONVERS conference bridge /WHO
links CONVERS conference bridge /LINKS
mstat MAILBOX 'mbox mailstat'
mpast MAILBOX 'mbox past'
users MAILBOX 'mbox status'
mailfor MAILFOR 'mbox mailfor'
info ALLCMD 'info'
ax25 AX25 'ax25 stat'
aheard AX25 'ax25 heard'
netrom NETROM 'netrom stat'
iheard all 'ip heard'
memstat all 'mem stat'
socket all 'socket'
tcpview all 'tcp view bytes'
asystat ASY 'asystat'
pkstat PACKET 'pkstat'
ripstat RIP 'rip stat'
:fkey
Display the key_numbers for the function keys. This command produces a chart
with all possible function keys.
'fn' refers to Function_key_n
'sfn' refers to SHIFT-Function_key_n
'cfn' refers to CTRL-Function_key_n
'afn' refers to ALT-Function_key_n
'ar' refers to the arrow keys
:fkey
fkey <key_number> [<value> | "<string>" ]
Display or define a new setting for a function key.
Control characters can be included in the string by prefixing with the ^
character (SHIFT 6 on most keyboards); e.g. CR is entered as ^M. To insert a
^ in the string, enter ^^.
>> Examples: fkey 87 "trace tnc0 211^M" (SHIFT-F4 turns trace
on)
fkey 72 "" (disable up arrow)
ftp <host>
The command 'ftp' is used to initiate an FTP session with <host>. When the
session is established, you will enter converse mode on the new FTP session.
When in converse mode with an FTP server, only the FTP sub-commands will be
valid. This will remain true until the FTP 'quit' command is issued, ending
the FTP session, and returning you to the "net>" prompt.
When the connection between the two machines is opened, you'll get a banner
from the remote machine, followed by a prompt for your user name and then your
password. If you've negotiated with the person at the remote machine to have
a special user name and password set up for you in his or her FTPUSERS file,
use that.
If not, use one of the special user names, "anonymous" or "guest" or "bbs",
and in this case, use your callsign as your password. Your password is
recorded in the log file on the remote host, allowing the manager of that
host to keep track of FTP activity.
To perform an automatic login to selected hosts, you can set up the NET.RC
file. Each line in the file contains the hostname, user login name and
password, each item separated by a space.
:ftype
ftype [ ascii | binary ] Default: ascii
Display or set the mode for FTP file transfer. See the FTP
'type' sub-command.
If the architecture of the local and remote hosts is the same, it is
preferable to set 'ftype' to binary, even for ASCII file transfers, as binary
transfer is much quicker.
>> Example: ftype binary
:ftptdisc
ftptdisc <timeout>
FTP server inactivity timeout
FTP connections will be closed after no data has been transferred
for the timeout period. This gets deactivated during file transfers
in either direction to avoid long slow transfers from causing
a timeout.
:help
The NOS 'help' or '?' command provides help for all the top-level NOS
commands. The "?" command by itself provides a list of the valid commands.
The "help" command by itself provides a brief description of the commands.
Either command followed by a commandname will provide information on that
particular command, if available.
To obtain more help on a particular command, type the command name
followed by a question mark.
>> Example: attach ?
:history
history [<N>] Default: 10
The history command displays the number and contents of previous
commands retained in a circular list, or sets the depth <N> of the
history list. These commands can be recalled by the UP-arrow and
DOWN-arrow keys. Press return to execute a recalled command, or
backspace to erase from the right side. No further editing is
currently supported. Setting the list size to 0 (zero) disables
this feature.
The 'hop' commands are used to test the connectivity of the
network.
hop check <host>
Initiate a hop check session to the specified host. This uses a series
of UDP "probe" packets with increasing IP time-to-live (TTL) fields to
determine the sequence of gateways in the path to the specified
destination. This function is patterned after the UNIX 'traceroute'
facility.
ICMP message tracing should be turned off before this command is executed
(see the 'icmp trace' command).
>> Example: hop check ns9liz
hop maxttl [<hops>] Default: 30
Display or set the maximum TTL value to be used in hop check sessions.
This effectively bounds the radius of the search.
>> Example: hop maxttl 10
hop maxwait [<seconds>] Default: 5
Display or set the maximum interval that a hop check session will wait
for responses at each stage of the trace.
>> Example: hop maxwait 60
hop queries [<count>] Default: 3
Display or set the number of UDP probes that will be sent at each stage
of the trace.
>> Example: hop queries 2
hop trace [on | off] Default: off
Display or set the flag that controls the display of additional
information during a hop check session.
>> Example: hop trace on
:hostname
hostname [<hostname>]
Display or set the local host name. By convention this should be the same as
the host's primary domain name. This string is used only in the greeting
messages of the various network servers; note that it does NOT set the
system's IP address.
If <hostname> is the same as an <interface> defined in an 'attach' command,
this command will search for a CNAME domain resource record which corresponds
to the IP address of the <interface>.
>> Example: hostname ns9bob
:icmp
These commands are for the Internet Control Message Protocol (ICMP) service.
icmp echo [on | off] Default: on
Display or set the flag controlling the asynchronous display of
ICMP Echo Reply packets. This flag must be on for one-shot pings
to work (see the 'ping' command).
>> Example: icmp echo off
icmp status
Display statistics about ICMP, including the number of ICMP
messages of each type sent or received.
icmp trace [on | off] Default: off
Display or set the flag controlling the display of ICMP error
messages. These informational messages are generated by Internet
routers in response to routing, protocol or congestion problems.
This option should be turned off before using the 'hop check'
facility, because it relies on ICMP Time Exceeded messages, and
the asynchronous display of these messages will be mingled with
'hop check' command output.
>> Example: icmp trace on
:ifconfig
ifconfig [<subcommand>]
If a valid subcommand is given, it will be executed (see below).
When no subcommand is given, display a list of interfaces, with a
short status for each. See the 'ifconfig <iface>' command for a
description of the display.
ALL ax25 and MOST tcp parameters are now configurable per
interface. The 'ax25 <cmd>' commands set the system default values
and the 'ifconfig <iface> ax25 <command>' commands set or show the
interface specific value(s). The 'tcp <cmd>' commands work in the
same manner.
As a result of this change, 'ifconfig' NO LONGER takes multiple
commands on one line. 'ifconfig ln0 netmask ffffff00 broadcast
255.255.255.255' is invalid. The command line must be separated into
two commands as: 'ifconfig ln0 netmask ffffff00' and 'ifconfig ln0
broadcast 255.255.255.255'
ifconfig <iface> [<subcommands>]
When only iface is given, the interface status is displayed.
Interface status shows:
IP addr - the ip address assigned to this interface
MTU - the maximum transmission unit for this interface.
Link encap - the type of link protocol to send packets with
over this interface (AX.25, NETROM etc.)
Paclen - if the interface is an AX.25 interface, this is the
Paclen used for connections on this interface
flags - interface flags, the sum of all the options set with
the various commands. See below.
netmask - the ip network mask. See elsewhere for a discussion.
broadcast - the ip broadcast address on this interface.
Used when doing arp, etc.
sent ip - the number of ip packets sent on the interface
sent tot- the total number of packets sent (i.e. ip, ax.25,
etc.)
sent idle - the elapsed time this interface hasn't transmitted
any data.
recv ip - the number of ip packets received on the interface
recv tot- the total number of packets received (i.e. ip,
ax.25, etc.)
recv idle- the elapsed time this interface hasn't received any
data.
descr - a description of the interface
Interface flag values are the sums of the following options, and
can be set or unset (i.e. toggled) with the following commands
(See their individual descriptions for more)
command value description of flag
mode iface DATAGRAM_MODE 0 /* Send datagrams in raw
link frames */
CONNECT_MODE 1 /* Send datagrams in
connected mode */
netrom interface IS_NR_IFACE 2 /* Activated for netrom use */
NR_VERBOSE 4 /* broadcast routes verbose */
convers interface IS_CONV_IFACE 8 /* Activated for conference
call access */
ax25 bport AX25_BEACON 16 /* Broadcast AX.25 beacons */
mbox hide HIDE_PORT 64 /* Don't show port in mbox
'P' command */
ax25 digi AX25_DIGI 128 /* Allow digipeating */
arp eaves ARP_EAVESDROP 256 /* Listen to ARP replies */
arp poll ARP_KEEPALIVE 512 /* Keep arp entries alive
after time-out */
ax25 hport LOG_AXHEARD 1024 /* Do ax.25 heard logging on
this interface */
ip hport LOG_IPHEARD 2048 /* Do IP heard logging on this
interface */
mbox noax25 NO_AX25 4096 /* No ax.25 mbox connections on
this interface */
mbox bbsonly BBS_ONLY 8192 /* BBSes only on this iface */
mbox usersonly USERS_ONLY 16384 /* Users only on this iface */
mbox sysoponly SYSOP_ONLY 32768 /* Sysops only on this iface */
ifconfig <iface> ax25 [<subcommand>]
Sets the value for 'subcommand' per description in the ax25
commands. 'ifconfig <iface> ax25' by itself displays the
following list of parameters and their values:
bbscall
bctext
blimit
cdigi
irtt
maxframe
maxwait
paclen
pthresh
retry
timertype
t3
t4
version
window
ifconfig <iface> broadcast <addr>
Set the ip broadcast address of interface <iface> to <addr>.
ifconfig <iface> cdigi <call>
Set the 'crossband digipeater only' callsign. If this call is
set, digipeating works independently from the 'ax25 digipeat'
setting. Connections cannot be made to the cdigi call!
ifconfig <iface> description "descr"
This command sets the interface description to the string
specified. If no descr is supplied (i.e. ""), the current
description will be cleared. The description is displayed with
the mailbox or nodeshell P command (if the interface wasn't
hidden from that display). It is also shown in the ifconfig
command.
ifconfig <iface> encapsulation <mode>
Sets the encapsulation for interface iface to slip or ax25. This
should never be needed, since it is automatically executed when
interfaces are attached.
ifconfig <iface> forward <iface-2>
When a forward is defined, all output for interface <iface> is
redirected to <iface-2>. To remove the forward, set <iface-2> to
<iface>.
ifconfig <iface> ipaddress <addr>
Set the IP address to <addr> for this interface. Normally the ip
address is assigned from the system ip address when the interface
is first attached. However, it might be necessary to change it
when a system acts as a ip-gateway.
ifconfig <iface> linkaddress <linkaddr>
Set the hardware dependent address for this interface. For AX.25
this is the callsign. If you want to allow cross band
digipeating, give each port a different ax.25 call with this
command.
ifconfig <iface> mtu <num>
Set the maximum transfer unit to <num> bytes.
ifconfig <iface> netmask <address>
Set the sub-net mask for this interface. The <address> takes the
form of an IP address with 1's in the network and subnet parts
of the address, and 0's in the host part of the address. Sample:
ifconfig ec0 netmask 0xffffff00 for a class C network (24
bits). This is related to the 'broadcast' subcommand. See also
the 'route' command.
ifconfig <iface> paclen <num>
Set the AX.25 paclen for this interface. This is useful if you
want to use a value different from the default as set with the
'ax25 paclen' command; e.g., if you have a port with an HF link,
you might want to set it to 128. You can also set it to greater
than 256 if you have a high speed port. (This command only works
for interfaces that can carry AX.25 connections, i.e., it is not
for SLIP interfaces, etc.)
NOTE1: The AX.25 V2 specification specifies a MAXIMUM of 256 for
paclen. If you have a paclen > 256, you may run into problems
when interfacing to other non-NOS systems (in particular G8BPQ-
based systems.)
NOTE2: The value of paclen influences NETROM behavior if the
interface is activated for netrom with the 'netrom interface'
command! If the paclen for this interface is smaller than any
other (netrom active) paclen, the netrom mtu value will be set to
this paclen - 20 ! This is to assure that you will not get
fragmentation at the ax.25 level when trying to send large data
packets over netrom connections. AX.25 V2.1 fragmentation is
presently handled only by NOS and derived code as far as is
known. Other systems, such as TheNet, BPQ, MSYS, etc., may not
include proper handling of V2.1 fragmentation.
What the preceding means is, if you have a VHF port with paclen
256, and an Hf port with paclen 128, and BOTH are active with
netrom, the netrom mtu will be 108 !
ifconfig <iface> rxecho <iface-2>
When a rxecho interface is defined, all input from interface
<iface> is also copied (echoed) to <iface-2>. To remove rxecho,
set <iface-2> to "off". This feature requires that RXECHO be
defined at compile time.
ifconfig <iface> tcp [<command>]
Sets or displays the 'tcp' command parameters for <iface>.
'ifconfig <iface> tcp' by itself displays the following list:
blimit
irtt
maxwait
mss
retries
syndata
timertype
window
OUTGOING tcp connections get the values for the interface on
which the initial sync packet ('connect request') is routed out.
INCOMING tcp connections get the values for the interface the
initial request arrives on.
System default TCP parameters must be set PRIOR TO attaching
interfaces. After attaching interfaces, use the 'ifconfig
<iface> tcp' commands to set the interface.
:info
info [hostname]
Start an Internet connection to the Information Center (INFO) at "hostname", or
on the local system if no "hostname" is given
>> Example: info ko4ks.ampr.org
ip <subcommand>
These commands are used for the Internet Protocol service.
ip access <permit|deny|delete> <proto> <sourceaddr[/bits]|all>
<destaddr[/bits]|all> <iface> [loport | all [hiport]]
Display or set ip access controls. Controls packet routing via
<iface> and determines which source ip addresses <sourceaddr>
can route to which destination ip addresses <destaddr>.
Default is to permit all sources to access all destinations,
until the first IP access command is entered, at which point all
routes via <iface> are denied unless specifcally permitted by
subsequent ip access commands.
Execution of this subcommand will add or delete an access control
entry in an internal table. Entries are scanned for an <iface> match,
and then in the order they were added, to determine if access will
be granted. Access will be granted only if an entry matching <destaddr>
and <sourceaddr> is found with "permit" set before a match with "deny"
set, or no match is found. The optional /bits suffix to the ipaddr
specifies how many leading bits in the ipaddr are to be considered
significant in the routing comparisons. If not specified, 32
bits (i.e., full significance) is assumed. All addresses can be
specified by "all". Access can be made protocol dependent via the
<proto> parameter. <proto> may be 'a' for any, 't' for TCP, 'u'
for UDP, 'i' for ICMP, or the IP protocol number. For UDP and TCP
protocols, loport and hiport specify the port or
range of TCP or UDP ports for which the access control command applies.
If none or all is specified, all ports are assumed.
"ip access" will display the table of current access control entrys.
Access commands should be entered from the most specific to the
least specific, since the first match (permit or deny) encountered
for a given interface in the internal table is returned.
#Example:
#allow a specific AMPRnet host access to the internet
ip access permit any 44.76.1.199 all eth0
#but deny all others except DNS/Ping (UDP) access
ip access permit udp 44/24 all eth0 all
#permit only AMPRnet hosts access to RF port
ip access permit any 44/24 44/24 2m
ip address [<addr>]
Display or set the default local IP address. This command
must be given before an 'attach' command if it is to be used
as the default IP address for the interface.
ip encap [4 | 94]
Display or set the packet ID code used for transmitted IP-IP
encapsulated packets. As of 1 March 1995, the default pid is 4.
ip heard
Display the ip-heard list. This shows the recently heard tcp/ip
systems. See also the 'ip hport' command.
ip hport [<iface>] [on | OFF]
Display or set the ip-heard facility. If no argument is given,
show the interfaces on which ip-heard is currently active. If
<iface> is given, shows the status of the ip-heard flag for the
given interface. If <iface> <on|off> is given, it will set the
flag on or off. Default is off.
If this flag is on, ip heard frames will be logged in a table.
This table can be shown with the 'ip heard' command or with the
nodeshell 'IHeard' command. Ip-heard logging on ax.25 interfaces
logs all ip stations heard on the port, even if the system wasn't
directly involved in the ip activity. For non-ax.25 interfaces,
only ip frames that we were actively involved in (i.e. that we
routed) are logged. (this difference is due to code internals)
ip hport port1 on
ip hsize [n] Default: 8
Display or set the maximum size of the Ip heard table. 0 means
no limit.
ip rtimer [<seconds>] Default: 30
Display or set the IP reassembly time-out.
ip status
Display Internet Protocol (IP) statistics, such as total packet
counts and error counters of various types.
ip ttl [<hops>]
(B) Display or set the default time-to-live value placed in each
outgoing IP datagram. This limits the number of switch hops the
datagram will be allowed to take. The idea is to bound the
lifetime of the packet should it become caught in a routing loop.
You should make the value slightly larger than the number of hops
across the network you expect to transit packets. The default is
set at compilation time to 255, the official recommended value
for the Internet.
:isat
isat [on | off] Default: off
Display or set the AT flag. If an AT-type clock is in use, set the flag 'on',
to allow measurement of time in milliseconds. Otherwise, time is measured in
clock ticks (55 milliseconds tick).
>> Example: isat on
:kick
kick [<session_number>]
Kick all sockets associated with a session; if no argument is given, kick the
current session. Performs the same function as the 'ax25 kick' and 'tcp kick'
commands, but is easier to type.
>> Example: kick 3
:lock
lock [ password "<password_string"> ]
Lock the keyboard or define a password string.
If 'password' is given then <password_string> is saved as the
unlock string.
If no parameters are supplied, the keyboard becomes locked when a
password was specified earlier.
If the keyboard is locked, the password is requested. If a
correct password is supplied, the keyboard becomes unlocked.
The setting of the password and locking of the keyboard can only
been done at the system console keyboard or in the /autoexec.nos
startup file. The password can not been displayed.
:look
look [user | socket#] (/<cmd>)
This command allows peeking into a user session on the BBS or
into any non-local socket. 'look [user | socket#]' brings up a window
which follows the specified user or socket. If looking in on a bbs
user, you can initiate a 'chat' session with that user.
There are a few commands available:
/? or /h - will show a short help line
/m <msg> - send a message to user. (only if 'looking' at user)
User sees: '<sysop>: message text'
/c - initiate a 'chat' with user. The bbs will suspend
while you talk with the user.
/q or /b - if in 'chat' mode, finishes it and returns the user
to the bbs.
if in 'look' mode, finishes looking at user/socket.
Note: if not in 'chat' mode, all non-command strings will be
ignored.
Looking at non-bbs sockets might be helpful debugging things or
seeing what an ftp user or a smtp user is doing.
Note that often you won't see what you expect: e.g., ftp user
sockets don't show the data transfered including directory
listings because data transfer occurs on a separate socket.
(Not seeing it is NOT a bug, for once...8) )
log [stop | off | <filename>] Default: stop
Display or set the filename for logging server sessions.
If 'stop' or 'off' is given as the argument, logging is terminated (the servers
themselves are unaffected).
If a file name is given as an argument, server session log entries will be
appended to it.
>> Examples: log dump/session.log
log stop
Lzw (Lempel-Ziv-Welch) is the data compression capability for
some ASCII-mode sockets. At present, LZW compression is
supported by TNOS SMTP, FTP, NNTP and POP3.
lzw mode [ fast | compact] Default: compact
Display or set the compression method used in data compression
for specific sockets.
lzw bits [<number>] Default: 9
Display or set the number of bits used for the compression size.
The more bits defined the larger the table space needed. Range
is 9 to 16.
lzw trace [ on | off ] Default: off
Display or set the lzw trace flag. If set on, compression
statistics will be displayed on the console when a compressed
socket is closed.
:mail
The 'mail' command allows you to escape from NOS and start an external mailer
program. When you exit from the mailer, you will be returned to NOS.
The BM mailer program (BM.EXE) and its startup script (BM.RC) must be located
at the DOS root.
The ELM mailer (ELM.EXE) and its startup script (ELM.RC) may reside anywhere.
Their location is specified by two DOS environment variables:
MAILER defines the location of ELM.EXE.
HOME defines the location of ELM.RC.
>> Examples: SET MAILER=c:\nos\elm.exe (the ELM mailer)
SET HOME=c:\nos (location of ELM.RC)
(Note that 'SET' is a DOS command, so pathnames require a backslash, not a
forward slash).
:mbox
mbox [<subcommands>]
Without a subcommand, display the current users of the nodeshell.
With a valid subcommand, it will execute the following commands.
mbox alias [<alias>] ["cmd"]
Set or show alias commands for the mailbox/nodeshell. To use an
alias, the user must type the full alias which will then cause
"cmd" to be executed. If the user types 'A', a list of sysop-
defined aliases will be displayed. 'alias' is 6 characters
maximum. "cmd" is 64 characters maximum. Note that "cmd" is in
double quotes.
'mbox alias' displays the current aliases.
'mbox alias <alias>' displays only <alias> if it is defined.
'mbox alias <alias> <cmd>' adds, deletes, or redefines <alias>
Example: To add a new BBS command -
mbox alias bbs "c port bbscall"
To delete an alias-
mbox alias myalias ""
To redefine an alias-
mbox alias bbs "c newport newbbscall"
mbox attend [ON|off]
This displays or sets the attend flag. If set, users can initiate
chat with the sysop via the O)perator mailbox command.
(You need to have started the ttylink server for this !)
mbox bbsonly [iface] [on | OFF]
Specify whether iface is only accessible to stations which have
the BBS flag set.
mbox convers [on|OFF]
Display or set the access to the conference bridge. The mailbox
or nodeshell 'CONV' command is disallowed when off. Default is
ON.
mbox fbb [ON|off]
Display or set the flag which enables FBB batched-style forwarding.
This is only available if FBBFWD was defined, and is used when the
remote BBS supports FBB batched forwarding. Batched forwarding
allows the forwarding direction to be reversed every 5 messages.
mbox fwdinfo [string]
Displays or sets the string that is used in the BBS R: header
when forwarding mail to other BBSes.
mbox haddress [string]
Displays or sets your system's hierarchical bbs address. As of
version 1.08, you must include the bbs call with the hierachical
address.
Example:
mbox haddress wg7j.or.usa.na
mbox header [on|OFF]
Explicitly turns the R: line in the message header on or off.
With mbox header off, regular users can forward from TNOS to
another system designated as a full-service bbs without leaving a
trace to their system. This avoids having a downstream bbs
improperly identify the originating station as a bbs.
NOTE: 'mbox header off' also turns off 'mbox thirdparty.'
mbox hideport [<iface>] [on | OFF]
Display or set a port that should not be displayed when the 'P'
command in the mailbox or nodeshell is given. Display if
available to users with sysop permissions. This command is
useful for ports that should be backbone linking only, etc. Note
that currently users can still do ax.25 connections via that
port, if they know the name. Default is OFF, the port is
displayed.
mbox hideport port1 on
mbox kick
This is an immediate command. It forces the system to start a new
bbs forwarding cycle.
mbox mailfor [interval]
mbox mailfor exclude [areaname areaname ...]
mbox mailfor watch [call_1 call_2 ...]
Interval is in seconds. At the end of each interval, the system
reads all non-area mailboxes and checks them for unread mail.
Next, a beacon is sent on all active interfaces. (see 'mbox
mport' command). The beacon is addressed to the AX.25 address
'MAIL'. The data in this packet contains a list of the mailboxes
with unread mail in the format 'Mail for: <user> ... '. Systems
such as LAN-LINK can trigger mail-snatches from this beacon. If
<interval> is the string "now" an immediate check is done.
'mbox mailfor' will show the status of the timer and list
mailboxes with unread mail.
In certain cases you might not want a private area to show up in
the mail beacon; e.g., private areas to be forwarded to another
bbs. You can exclude such areas from the beacon with the
'mbox mailfor exclude' command.
'mbox mailfor exclude area1 area2 area3 ...'
will disable these area names from the beacon. You can give
multiple exclude commands to build the list.
A simple 'mbox mailfor exclude' shows the list.
'mbox mailfor watch call ...' will watch for new mail arriving
for the specified personal mailboxes, and add a blinking MAIL to
the first status line if new mail exists. To remove the MAIL from
the status line, read the last message in the appropriate mailboxes,
and force a run of the mailfor process by 'mbox mailfor now'. The
sysop will typically want to watch his personal mailbox, and perhaps
a "check" mailbox to which unusual mail is rewritten.
mbox maxmsg [n]
This displays or set the maximum number of messages in a
mailboxfile, for both private and public (i.e., area-) mail. If
there are more than n messages, the user will only see the first
n messages.
mbox motd [string]
This displays or sets the message of the day which is displayed
when regular users log on to the system.
mbox mailstats
This command shows how many messages have been read and sent by
users and how many messages have been received from and forwarded
to BBSes.
mbox mport [<iface>] [on | off]
Displays or sets the interfaces for 'MAIL' beacons. Set this
flag for each port you want the mail beacon to be sent on.
mbox newmail [ON|off]
When ON, users will be notified during login which areas have new
mail since the last time that user logged out. This function
uses a time stamp on a status file for each message area. The
information shown can later be repeated with the 'AN' mailbox
command.
mbox nobid [on | OFF]
Set whether to accept or refuse bulletins with NO BID. Off means
refuse if there is no BID. On means accept regardless of BID.
Default is OFF (refuse)
mbox nrid [[ON|off]
When set, the first time a user logs onto the system, the system
will add the netrom node id in NODE:CALL format to the prompt.
Users can then change it with the mailbox XN command. The system
will use the new prompt format as set by the user the next time
the user logs in.
mbox past
Displays the users that have logged on since the system has been
running.
mbox password <newpassword>
This sets a new remote sysop password. A remote sysop is a user
whose entry in the ftpusers file has the SYSOP_CMD bit set. When
a remote sysop enters the '@' command to the TNOS mailbox, and there
is a non-null mbox password established, five random numbers are
displayed. The remote sysop is expected to then transmit the letters
corresponding to these numbers, taken as zero-relative positions in
the password string. Several lines of five letters can be sent, only
one of which need be correct. The last line sent must be empty, ie,
just a CR. If the response is correct, the remote sysop is then given
the TNOS command-line prompt, and may issue most TNOS console commands.
Commands which would require creation of a new session are disallowed.
Use the "exit" command to exit from the TNOS command level.
mbox prompt [ON | off]
Turns the command prompt display of the current directory on or
off. Default is ON.
mbox qth [location]
This displays or sets the location of your system, and uses it in
the R: headers when doing bbs forwarding.
mbox register [ON | off]
Enable or disable user registration. If the user gives an e-mail
address during registration, messages sent will include a 'Reply-
To:' header with that e-mail address. Setting this command to
OFF will prevent the 'please register' message from being sent to
new users.
mbox reset [login_id_list]
Force a disconnect for the named user(s), or list the names of the
users currently connected if no argument is provided.
mbox secure [on |OFF]
This displays or sets the mailbox secure flag. If set, only users
coming on over netrom and ax25 connections can make gateway
connects if they have the right privileges. If not set, anyone
with the right privs can do a telnet connect.
mbox sendquery [ON|off]
If on, users will be queried if they really want to send the
message after they have typed the ^Z or /ex when sending a
message. 'N' or 'n' will abort, anything else will send the
message.
mbox smtptoo [on | OFF]
This displays or sets the smtp header flag. If set, the system
will include most smtp headers when forwarding the message via
bbs forwarding. When not set, the headers will be stripped
(default).
mbox status
Displays the current users of the system {NOS}.
mbox sysoponly [iface] [on | OFF]
Specify whether port is accessible only by stations with SYSOP
flag set. Default is off.
mbox timer [<nnnn>]
Entering only the subcommand displays the forwarding setting and
countdown timer value. [<nnnn>] sets the interval between
forwarding attempts in seconds. Default = 0 (No forwarding).
mbox tdisc [<nnnn>]
This command sets the mailbox inactivity timer in seconds. If no
user input has been received for nnnn seconds while connected to
the mailbox, the user will be disconnected. Default = 0 = no
timeout.
mbox thirdparty [on|OFF]
Set or display whether 3rd party traffic may be handled through
the mailbox. Default is OFF. Third-party mail is anything sent to
other than sysop, the call in the Hostname, or a local area name.
See also 'mbox header' command.
mbox tmsg [<string>]
Display or set the 'telnet message'. This is the message sent to
telnet connections before the login prompt is sent!
mbox trace [on|OFF]
This displays or sets the value of the trace flag. If set, the
mailbox is verbose about certain aspects of the forwarding cycle.
mbox utc [n]
Display or set the offset from UTC. [n] is used to calculate the
current time for the forwarding header.
mbox zipcode [<nnnnn>]
Set or display the system's postal zipcode. This is used in the
R: line when forwarding.
md <directory>
Create a sub-directory in the current working directory.
See also: mkdir
>> Example: md tmp
:memory
memory <subcommands>
These commands are used for memory allocation.
memory freelist
Display the storage allocator free list. Each entry consists of
a starting segment, in hex, and a size, in decimal bytes.
memory ibufsize [<size>]
(B) Display or set the size of the buffers in the interrupt
buffer pool. The size should be set to the largest type of
buffer plus a header size of 8. For example: If your ax.25 is
the only interface and a packet length of 512 is defined, the
ibufsize should be 512 + 72 + 8 = 592 . The 72 is the ax.25
header (source , destination, 8 digipeaters, 1 control byte and 1
pid byte). Default is 600.
memory minalloc [<bytes>]
Set the minimum number of bytes to allocate per malloc() call.
Setting a small value (32 or 64) might allow the realloc scheme
to work more effectively by preventing excessive memory
fragmentation. Default = 0, no minimum allocation size.
memory nibufs [<number>]
(B) Display or set the number of interrupt buffer pool buffers.
If the number of buffers is set, the statistics in the 'memory
status' display are reset for number of interrupt buffer fails.
The minimum available value is set to the requested number of
buffers. A rule of thumb for the number of buffers is to watch
the statistics and keep a minimum of 2 free buffers. Increase
or decrease as required. Default is 10.
memory sizes
Display a histogram of storage allocator requested sizes. Each
histogram bin is a binary order of magnitude (i.e., a factor of
2).
memory status
Display a summary of storage allocator statistics.
heap size 52560, avail 12880 (24%), morecores 150, coreleft 5872
The first line shows the total size of the internal heap, the
amount of memory available on the internal heap with the
percentage of the total heap size, next the number of times
memory has been requested from the Operating System, and the
amount of memory the OS has left over.
allocs 16706, frees 16389 (diff 317), alloc fails 0, invalid
frees 0
Next, the number of times memory has been allocated, and has been
freed is shown. The difference is the number of buffers
currently allocated. Alloc fails show up when the system is
running out of memory resources.
Invalid frees mean that memory was overwritten, and indicates the
system is about to lose sanity...
garbage collections yellow 0, red 0
Garbage collections free memory from network control structures
that could not have otherwise been freed. Yellow garbage
collections are started when the total available memory, i.e.
avail+coreleft, becomes smaller then memthresh. Red garbage
collections indicate that available memory got below memthresh/2
interrupts-off calls to malloc 0, free 0
These should never be other then 0. They indicate calls to the
memory allocator with interrupts off. These requests should be
handled by the interrupt buffer pool. If these values are non-
zero, you most likely have a problem.
Intqlen 9 Ibufsize 600 Iminfree 9 Ibuffail 0 Imaxrq 580
This line shows the current number of interrupts buffers in the
interrupts buffer pool, the size of each buffer, the minimum
number of free buffers, and a count of times no interrupt buffer
was available when one was needed. If Iminfree gets close to, or
becomes zero, you should increase the buffer pool size with the
'memory nibuf' command. The statistics are reset when this
command is executed. Also shown is the size of the largest request
for an interrupt buffer, to help establish an optimum Ibufsize value.
memory thresh [<size>]
(B) Displays or sets the memory threshold size in bytes. If
free memory gets below this value, no more new connections can be
started and no new connections will be accepted. This is an
attempt to preserve the system's sanity.
:mkdir
mkdir <directory>
Create a sub-directory in the current working directory.
See also: md
>> Example: mkdir tmp
:mode
mode <interface> [vc | datagram] Default: datagram
Display or set the default transmission mode on the specified AX.25 interface.
In 'vc' (virtual circuit) mode, IP packets are encapsulated in AX.25 I-frames
and are acknowledged at the link level according to the AX.25 protocol. Link
level connections are opened if necessary. This is the conventional mode used
by TNCs operating in native mode.
In 'datagram' mode, IP packets are encapsulated in AX.25 UI-frames and
transmitted without any other link level mechanisms, such as connections or
acknowledgements.
In both modes, ARP is used to map IP to AX.25 addresses. The defaults can be
overridden with the type-of-service (TOS) bits in the IP header. Turning on
the "reliability" bit causes I-frames to be used, while turning on the "low
delay" bit uses UI-frames. (The effect of turning on both bits is undefined
and subject to change).
In both modes, IP-level fragmentation is done if the datagram is larger than
the interface MTU. In virtual circuit mode, however, the resulting datagrams
(or fragments) are further fragmented at the AX.25 layer if they are still
larger than the AX.25 'paclen' parameter.
In AX.25 fragmentation, datagrams are broken into several I-frames and
reassembled at the receiving end before being passed to IP. This is
preferable to IP fragmentation whenever possible because of decreased overhead
(the IP header isn't repeated in each fragment) and increased robustness (a
lost fragment is immediately retransmitted by the link layer).
>> Example: mode tnc0 vc
:mode
mode netrom [vc | datagram] Default: datagram
Display or set the default transmission mode for NET/ROM transmissions.
:more
more <filename> [searchstring]
Display the specified file a screen at a time.
To proceed to the next line, hit the CR key.
To proceed to the next screen, press the space bar.
To cancel the display, hit the 'q' key.
The 'more' command creates a session that you can suspend and resume just like
any other session.
If a 'searchstring' is given, only lines that contain the 'searchstring' will
be displayed.
>> Example: more domain.txt
:motd
motd ["<string>"]
Display or set the system-wide Message-of-the-Day. This message is sent when
another station initiates a chat (ttylink) session with you.
>> Example:
motd "If unattended please leave a message in the mailbox"
:multitask
multitask [on|off] Default: on
Display or set NOS multitasking. When set to 'on', NOS continues to run when
the user has issued the shell (!) or 'mail' command. This enables NOS to
process packets and begin sessions even while the user is at the DOS prompt or
in BM (or other mailer).
The disadvantage is increased memory usage, since memory cannot be allocated by
NOS due to the presence of the other program. Thus most versions of NOS grab
some memory before actually shelling out and this remains on the heap after NOS
is re-entered. Consequently the amount of core memory available drops
significantly the first time a shell is used.
If the "xspawn" command is on, the multitask command is ignored.
See also: !, shell, and xspawn
>> Example: multitask on
:netrom
netrom <subcommands>
These commands influence netrom behavior.
netrom acktime [<milliseconds>]
(B) Displays or sets the ack delay timer, similarly to ax25 t2.
Default is 8000ms (i.e. 8 seconds).
netrom alias <aliascall>
This sets the netrom alias call for this station. Other stations
can connect to the ax25 callsign and to the Netrom alias (when
set). The alias is broadcast with a Netrom broadcast. If netrom
is not activated, you can use the 'ax25 alias' command to set the
alias callsign, such that users can still connect to the alias,
even though netrom activities are not allowed.
netrom bcnodes <iface>
Initiates an immediate broadcast of nodelist on <iface>. Verbose
behavior is controlled by the 'netrom interface' command.
netrom bcpoll <iface>
Initiates a poll sent to the named interface. This poll will
request a netrom routes broadcast from other nodes, so that the
routing table can be updated. This is automatically done any time
an interface is activated (or changed) for netrom. This should
speed up route discovery at startup.
netrom choke [<milliseconds>]
(B) Display or set the time breaking a send choke. Choke is the
term netrom uses for flow control conditions. Default is 180000
ms (180 seconds.)
netrom derate [ON|off]
(B) Display or set automatic derating of netrom routes on link
failure. Default is on.
netrom hidden [on|OFF]
Display or set the hidden node flag. Nodes with aliases starting
with the '#' character are displayed using the command 'N *'.
Default is OFF.
netrom interface [<iface> <quality> [n]]
Activate <iface> as a netrom interface. <quality> can be between
1 and 255. Interfaces are activated using verbose routes
broadcasting by default, meaning that they broadcast all known
routes. This can be changed by adding the optional 'n' parameter
to the command. Then only the system itself will be announced in
a broadcast, not the known routes.
If the paclen of the interface is smaller then the netrom mtu +
20, then the netrom mtu will be set to paclen-20 . This is to
avoid fragmentation, causing incompatibilities with none-NOS
based Netrom nodes. See the 'ifconfig <iface> paclen' command for
more.
If <iface> has already been activated as a netrom interface, re-
issuing the command will set <quality> and [n] to the new values.
'netrom interface' will show the currently active netrom
interface.
Each time an interface is activated or changed, a broadcast poll
will be sent out on the interface. This minimizes the route
discovery time at startup, and will update routes when the
interface quality has changed.
netrom interface <iface> <quality> [<min-bc-quality>]
Set or display the netrom interface(s) for the node. This
command is essentially the same as the command for TNOS.
Only nodes of min-bc-quality and better will be broadcast in a
nodes boradcast on this interface. If <min-bc-quality> is not
set (no value assigned), then the 'netrom minquality' value is
used. If <min-bc-quality> = 0, then no nodes are broadcast
except this one (same as 'n' parameter above.)
Examples:
netrom interface ax0 224 180 -> nodes >= 180 are broadcast
netrom interface ax0 224 0 -> only ourself is broadcast
netrom interface ax0 224 -> nodes >= 'minquality' are
broadcast
netrom irtt [<milliseconds>]
(B) Display or set the initial round trip time. Default is
45000ms, i.e. 45 seconds.
netrom kick <nrcb>
Give the control block a kick to get activity going again.
netrom load
Retrieves the last set of netrom destination data saved with the
'netrom save' command.
netrom minquality [<minqual>]
(B) Display or set the minimum quality for recognizing a node
entry. Entry's below this value are not considered valuable for
usage. Default is 50.
netrom mycall <call>
Displays or sets the call to be used by the netrom interface.
Note: this is a shortcut for the 'ifconfig netrom linkaddress'
command. It defaults to the 'ax25 mycall' value.
netrom neighbor
Display all known netrom neighbors.
netrom nodefilter <subcommands>
Manipulate node filtering.
netrom nodefilter add <neighbor> <iface>
Add <neighbor> on port <iface> to the filter table. See the
'netrom nodefilter mode' command to determine the manner to
handle node updates from <neighbor>.
netrom nodefilter mode [none|accept|reject]
Display or set the initial node filter scheme. 'none' accepts
all netrom routes and is the default. 'accept' accepts routes
only from nodes defined with the 'netrom nodefilter add'
command. 'reject' does not accept routes from any nodes
defined with 'netrom nodefilter add'
netrom nodefilter drop <neighbor> <iface>
Delete the node <neighbor> on interface <iface> from the
filter table.
netrom nodetimer [<seconds>]
(B) Display or set the interval to transmit the nodes list. If
you want to use other than the default, you must first attach the
netrom interface with 'attach netrom' and then set the new
nodetimer value. Default is 1800 seconds (half an hour).
netrom obsoinit [#}
(B) Display or set the initial obsolescense count for direct
routes (Routes table entries) to other systems. Default is 6
netrom obsominbc [#]
(B) Display or set the minimum obsolescense count a route should
have to be included in routes broadcasts originating from this
system. Default is 4.
netrom obsotimer [<seconds>]
(B) Display or set the time a node obsolescence count gets
decremented. If you want to use other than the default, you must
first attach the netrom interface with 'attach netrom' and then
set the new obsotimer value. Default is 1800 seconds.
netrom promiscuous [OFF|on]
(B) Enables nodes with a path quality greater than defined with
minquality. If on, all nodes are received regardless of
nodefilter mode. Default is off.
netrom qlimit [<nnnn>]
(B) Display or set the maximum queue limit for choke to occur.
Similar to ax25 window. Default is 512 bytes.
netrom reset <nrcb>
Remove the control block. You can find the control block with
the 'netrom status' or 'socket' commands.
netrom retries [<nn>]
Display or set the maximum number of retries on connect,
disconnect or data. Default is 3.
netrom route <subcommands>
Netrom routing commands. Routes can be marked as 3 types in the
various route displays:
'P' - a permanent route set with the 'netrom route add'
command
'B' - a route received through a nodes broadcast from a
neighbor node
'R' - a recorded route from an incoming packet from a not
previously known netrom node
netrom route add <alias> <call> <iface> <quality> <neighbor>
Add a permanent netrom route. The new route is to netrom
system <alias> with call <call>, and the route is on interface
<iface> with quality <quality> via the neighbor <neighbor>.
netrom route add salem af7s-1 port1 178 k7uyx-1
A route to a direct neighbor looks like:
netrom route add crv k7uyx-1 port1 192 k7uyx-1
netrom route drop <destination> <neighbor> <iface>
Delete the netrom route to call <destination> via neighbor
<neighbor> on <iface>.
netrom route info [<destination>]
Display the route a packet would take to get to <destination>.
If <destination> is not given, information about all known
netrom nodes is displayed. 'netrom route info' and 'netrom
route info *' are equivalent commands.
netrom status
Display all netrom connections.
netrom tdisc [secs]
(B) Display or set the Netrom Link "redundancy" timer. Value is
in seconds. When no data exchange has happened during this time
the link is reset and closed. Default is 900 seconds (15
minutes).
netrom timertype [exponential|LINEAR]
(B) Displays or sets the type of backoff used on netrom retries.
Default is linear.
netrom ttl [<hops>]
(B) Display or set the maximum number of hops a frame might take
before being discarded. Default is 10.
netrom window [<frames>]
(B) Display or set the size of the sliding window. This is the
largest send and receive window we might negotiate. Default is
2.
:news
news [hostname]
Start an Internet connection to the News Center (NEWS) at "hostname", or
on the local system if no "hostname" is given
>> Example: news ko4ks.ampr.org
:nntp
The 'nntp' commands control the operation of the Network News
Transfer Protocol (NNTP). The nntp features are defined at
compile-time. What follows describes the nntp client features;
the nntp server features are mostly a superset of these commands:
nntp addserver <nntpserver_host> <interval> [<range>] [<groups>]
Add an NNTP news server to query every <interval> seconds for new
articles in the specified <groups>.
<range> specifies the time-of-day limits when the queries will be
made.
Multiple 'nntp addserver' commands may be used to concatenate
groups (up to a maximum of 512 bytes).
Example: nntp add w5ddl.ampr.org 3600 18:00-06:00
nntp directory [ <News_spool_dir> [News_control_dir> ]
Display or set the spool directory for spooling news articles.
Default is /spool/mail. Optionally set a new control directory.
The default control dir is /spool/news.
nntp directory old=new
Establish a newsgroup name mapping, so that a newsgroup name
beginning with <old> is changed to one beginning with <new>,
which may be a null string. To delete a mapping, use <old>==.
The mapping scan continues until the list is exhausted, in the
same order the nntp dir commands were specified.
Example: nntp dir rec.radio.=
nntp dir amateur.=
nntp dir shortwave=swl
nntp dir equipment=eq
will map rec.radio.amateur.policy to policy, rec.radio.swap
to swap, rec.radio.shortwave to swl, and
rec.radio.amateur.equipment to eq.
nntp dropserver <nntpserver_host>
Drop the specified NNTP server.
nntp groups <group> [<group> ...] Default: All groups
Display or set the currently set USEnet newsgroup(s). The group
names are separated by spaces or commas. The '*' and '!'
metacharacters (meaning 'all' and 'not' respectively) are
supported.
nntp kick <nntpserver_host>
Kick the local NNTP client to get in touch with the named server.
nntp listservers
List the currently defined servers.
nntp lzw <on | off>
Turn on or off LZW compression when receiving articles.
nntp trace <level> Default: 1
Sets or shows the current trace level for NNTP traffic.
Level
0: No tracing.
1: Display serious errors only
2: Display serious and transient errors
3: Display serious and transient errors, plus session progress
4: Display serious and transient errors, session progress and
actual received articles
5: Display errors.
nntp quiet <yes | no> Default: no
Sets or shows the current arrival-notification setting for NNTP
traffic. The notification will include a BEL character if
"smtp quiet no" is in effect.
nntp firstpoll [<#days>] Default: 5
Sets or shows the number of days of old news that is requested
in the initial poll to a new server.
:nrstat
nrstat
Displays the netrom serial interface statistics. This is only
valid if the serial port was attached in NRS mode. See the 'attach'
command for more.
:oldbid
oldbid
The 'oldbid' command is used to invoke the process which
deletes old message-id's (or bids) in the Historyfile. The default
location of Historyfile is /spool/history. Do not confuse this
file with the NNTP History database, stored in /spool/news/history
by default!
oldbid [interval age_in_days]
Begin the oldbid process every <interval> hours, and delete
those bids which are older than <age_in_days> days. If no
arguments are provided, the current oldbid interval and age
are displayed.
Example: To expire bids every 24 hours, that are 30 days
old, use: oldbid 24 30
:param
param <interface> [<cmd> <value>]
The 'param' command allows device-specific control parameters to be sent to an
interface, and the status to be read back from an interface.
On a KISS TNC interface, 'param' control packets to the TNC. Argument to the
'param' command are always decimal.
On a SLIP interface, the 'param' command allows the baud rate to be read
(without arguments) or set.
The implementation of this command for the various interface drivers is
incomplete and subject to change.
If no "cmd" and "value" are given, the 'param' command displays interface
characteristics. The actual data displayed depends on the interface type.
Specific commands for a KISS interface are shown below.
param <KISS_interface> 0 <data frame>
param <KISS_interface> 1 <TX_delay> (10mS units)
param <KISS_interface> 2 <persistence> (0-255)
param <KISS_interface> 3 <slot_time> (10mS units)
param <KISS_interface> 4 <TX_tail> (10mS units)
param <KISS_interface> 5 <n>
param <KISS_interface> 255 (terminates KISS mode)
>> Example: param tnc0 5 0 (Half duplex)
:ping
ping <host> [<length> [<interval> [<incflag>]]]
Ping (send ICMP Echo Request packets to) the specified <host>.
By default the data field contains only a small timestamp to aid in determining
round trip time; if the optional <length> argument is given, the appropriate
number of data bytes (consisting of hex 55) are added to the ping packets.
If the <interval> parameter is supplied, pings will be repeated indefinitely at
the specified interval in milliseconds.
If no interval value is supplied, a single, "one-shot" ping is done. Responses
to one-shot pings appear asynchronously on the command screen, while repeated
pings create a session that may be suspended and resumed. Pinging continues
until the session is manually reset.
The <incflag> option causes a repeated ping to increment the target IP address
for each ping; it is an experimental feature for searching blocks of IP
addresses for active hosts.
The round-trip times reported by the 'ping' command depend on the setting of
the 'isat' mode. If 'isat' is on, times are reported to the nearest
millisecond. If 'isat' is off, times are reported in multiples of 55mS.
>> Examples: ping ns9liz
ping ns9liz 10 5000 1
:pistatus
pistatus
Display statistics for the Ottawa PI or PI2 packet interface card.
:popmail
popmail <subcommands>
popmail addserver <host> [<seconds>] [hh:mm-hh:mm] <protocol>
<mailbox> <username> [<password>]
Add hostP as a pop server. When seconds is given, a timer is
started to query the host with that interval for mail. If not
specified no querying to the pop host will be started. You have
to do that manually with a kick. When hh:mm is given then only
in that exact timeframe are queries to the host made (allowed).
Protocol is either POP2 or POP3, depending on the mail service
the host is providing.
Note: pop2 is superceded by pop3.
Mailbox is the mailbox name on the local host where mail is to be
stored.
Username and password are this system's validation parameters for
the host. If password is omitted, it is obtained from the console.
Note: On entering this command the host name is looked up. If
nonexistent, an error message is displayed.
popmail dropserver <host>
Drops host from the list of pop servers to be queried. All
references to the entry are deleted from the current system.
popmail kick <host>
Starts a pop session with host to retrieve mail. This command is
needed when no interval is specified with the popmail addserver
command.
popmail list
Lists the current popmail server table.
popmail quiet <yes|NO>
Displays or sets the notification of new mail ariving via pop.
popmail trace <level> Default: 1
Displays or sets the trace level of pop sessions. Current trace
levels are:
0 - No tracing
1 - Serious errors reported
2 - Transient errors reported
3 - session progress reported
Note that tracing only goes to the log file.
popmail lzw [off | ON]
Displays or sets the LZW compression enable flag.
The 'ppp' commands are used for Point to Point Protocol
interfaces.
This implementation of PPP is designed to be as complete as
possible. Because of this, the number of options can be rather
daunting. However, a typical PPP configuration might include the
following commands:
attach asy 0x3f8 4 ppp pp0 4096 1500 9600
dial pp0 dialer.pp0 30 3 <remotehost>
#
ppp pp0 lcp local accm 0
ppp pp0 lcp local acfc on
ppp pp0 lcp local pfc on
ppp pp0 lcp local magic on
ppp pp0 lcp open active
#
ppp pp0 ipcp local compress tcp 16 1
ppp pp0 ipcp open active
#
ppp pp0 pap user authname authpasswd
#
route add default pp0
ppp <interface>
Display the status of the PPP interface.
The following commands are used for the LCP (Link Control
Protocol) configuration.
ppp <interface> lcp close
Shutdown the PPP interface.
ppp <interface> lcp local ...
The 'lcp local' commands control the configuration of the local
side of the link. If an option is specified, the parameters will
be used as the initial values in configuration requests. If not
specified, that option will not be requested.
For each of these options, the 'allow' parameter will permit the
remote host to include that option in its response, even when the
option is not included in the request. By default, all options
are allowed.
ppp <interface> lcp local accm [ <bitmap> | allow [on | off] ]
Display or set the ACCM (Async Control Character Map). The
default is 0xffffffff.
ppp <interface> lcp local authenticate [ pap | none | allow [on | off] ]
Display or set the authentication protocol. The default is none.
ppp <interface> lcp local acfc [ on | off | allow [on | off] ]
Display or set the option to compress the address and control
fields of the PPP HLDC-like header. This is generally desirable
for slow asynchronous links, and undesirable for fast or
synchronous links. The default is off.
ppp <interface> lcp local pfc [on | off | allow [on|off]]
Display or set the option to compress the protocol field of the
PPP HLDC-like header. This is generally desirable for slow
asynchronous links, and undesirable for fast or synchronous
links. The default is off.
ppp <interface> lcp local magic [ on | off | <value> | allow [on|off] ]
Display or set the initial Magic Number. The default is off
ppp <interface> lcp local mru [ <size> | allow [on | off] ]
Display or set the Maximum Receive Unit. The default is 1500.
ppp <interface> lcp local default
Reset the options to their default values.
ppp <interface> lcp open active | passive
Wait for the physical layer to come up. If 'active', initiate
configuration negotiation. If 'passive', wait for configuration
negotiation from the remote.
ppp <interface> lcp remote ...
The 'lcp remote' commands control the configuration of the remote
side of the link. The options are identical to those of the
local side.
If an option is specified, the parameters will be used in
responses to the remote's configuration requests.
If not specified, that option will be accepted if it is allowed.
For each of these options, the 'allow' parameter will permit the
remote to specify that option in its request.
By default, all options are allowed.
ppp <interface> lcp timeout [<seconds>] Default: 3
Display or set the interval to wait between configuration or
termination attempts.
ppp <interface> lcp try ...
The 'lcp try' commands are used for the various counters.
ppp <interface> lcp try configure [<count>] Default: 10
Display or set the number of configuration requests sent.
ppp <interface> lcp try failure [<count>] Default: 5
Display or set the number of bad configuration requests allowed
from the remote.
ppp <interface> lcp try terminate [<count>] Default: 2
Display or set the number of termination requests sent before
shutdown.
ppp <interface> ipcp ...
The 'ipcp' commands are used for the Internet Protocol Control
Protocol configuration.
The 'close', 'open', 'timeout' and 'try' sub-commands are
identical to the LCP (described above).
ppp <interface> ipcp local ...
The 'ipcp local' commands control the configuration of the local
side of the link. If an option is specified, the parameters will
be used as the initial values in configuration requests. If not
specified, that option will not be requested.
For each of these options, the 'allow' parameter will permit the
remote to include that option in its response, even when the
option is not included in the request. By default, all options
are allowed.
ppp <interface> ipcp local address [ <hostid> | allow [on | off] ]
Display or set the local address for negotiation purposes. If an
address of 0 is specified, the other side of the link will supply
the address. By default, no addresses are negotiated.
ppp <interface> ipcp local compress [ tcp <slots>
[<flag>] | none | allow [on | off] ]
Display or set the compression protocol. The default is none.
The tcp <slots> specifies the number of "conversation" slots,
which must be 1 to 255. (This may be limited at compilation time
to a smaller number.) A good choice is in the range 4 to 16.
The tcp <flag> is 0 (don't compress the slot number) or 1 (OK to
compress the slot number). KA9Q NOS can handle compressed slot
numbers, so the default is 1.
ppp <interface> ipcp remote ...
The 'ipcp remote' commands control the configuration of the
remote side of the link. The options are identical to those of
the local side. If an option is specified, the parameters will
be used in responses to the remote's configuration requests. If
not specified, that option will be accepted if it is allowed.
For each of these options, the 'allow' parameter will permit the
remote to specify that option in its request. By default, all
options are allowed.
ppp <iface> pap ...
The 'pap' commands are used for the Password Authentication
Protocol configuration.
The 'timeout' and 'try' sub-commands are identical to the LCP
(described above). However, the terminate counter is unused.
ppp <interface> pap user [ <username> [<password>] ]
Display or set the <username>.
The <password> may also be set, but not displayed.
When <username> is specified, but no password is supplied, the
FTPUSERS file is searched for the password. When a username-
password pair is unknown or rejected, a session will appear at
the console to prompt for a new username-password.
ppp <interface> trace [<flags>]
Display or set the flags that control the logging of information
during PPP link configuration.
The flag values are:
0: No trace
1: Basic trace
2: General trace
Values greater than 2 are usually not compiled, and are described
in the appropriate source files where they are defined.
:prompt
prompt [hostname | dirname] Default: hostname
Displays/toggles whether the Command Session prompt is the current Hostname
or the current directory (like a DOS prompt, but in lower case).
>> Example: prompt dirname
Display all current processes in the system. The fields are as follows:
PID: Process ID (the address of the process descriptor).
SP: The current value of the process stack pointer.
stksize: The size of the stack allocated to the process.
maxstk: The apparent peak stack utilization of this process. This is done in
a somewhat heuristic fashion, so the numbers should be treated as approximate.
If this number reaches or exceeds the stksize figure, the system is almost
certain to crash; NOS program should be recompiled to give the process a larger
allocation when it is started.
event: The event this task is waiting for, if it is not runnable.
fl: Process status flags. There are three: I (Interrupts enabled), W
(Waiting for event) and S (suspended).
The I flag is set whenever a task has executed a pwait() call (wait for event)
without first disabling hardware interrupts. Only tasks that wait for
hardware interrupt events will turn off this flag; this is done to avoid
critical sections and missed interrupts.
The W flag indicates that the process is waiting for an event; the event column
will be non-blank. Note that although there may be several runnable processes
at any time (shown in the 'ps' listing as those without the W flag and with
blank event fields) only one process is actually running at any one instant
in and out: The socket reference numbers. Use the 'socket' command to obtain
more detailed information.
pwd [<directory>]
An alias for the 'cd' command.
>> Example: pwd spool/mail
:quote
quote [hostname]
Start an Internet connection to the Quote-of-the-Day Server at "hostname", or
on the local system if no "hostname" is given
>> Example: quote ko4ks.ampr.org
:rarp
Display RARP statistics.
The 'rarp' commands are associated with the Reverse Address
Resolution Protocol (RARP). RARP is used where a station knows
its own Ethernet address or callsign but does not know its own IP
address.
:rarp
rarp query <interface> <ether_address|callsign> [<ether_address|callsign>...]
Issue a RARP request for an IP address for <ether_address> or
<callsign>, via <interface>.
>> Examples: rarp query tnc0 NS9ZZZ-5
rarp query en0 00:11:22:33:44:55
rd <directory>
Remove a sub-directory from the current working directory. The sub-directory
must be empty before 'rmdir' can be used.
See also: rmdir
>> Example: rmdir tmp
:rdate
rdate <subcommand>
Remote Date (rdate) is used to set the time of the local NOS
system based on the time obtained from a remote system's time server.
The Unix time (port 37) protocol is used.
rdate offset [<+|-><hour_offset>]
Causes the time read from the remote system to be adjusted by
adding in the indicated <hour_offset>, which may be negative.
If no <hour_offset> is provided, the current offset is displayed.
Note: the time server provides the time in UTC. If an environment
variable, TZ, is properly maintained, then an offset of zero should
suffice. Otherwise, use the number of hours difference between local
and UTC time.
rdate server <hostname>
Causes a connect to <hostname> TCP port 37, from which a time is
obtained, adjusted by an offset if one was given, and then used to
set the time on the local system.
:record
record [off | <filename>] Default: off
Opens <filename> and appends to it all data received or sent on the current
Telnet session. (This includes up/downloading to a mailbox).
If you are in Telnet converse mode and want to initiate recording, you will
need to use the <F10> key to escape back to command mode to issue the 'record'
command. The message "Recording into <filename>" will be displayed and another
Command Session prompt will be issued. Enter CR on a blank line and you will
return to the Telnet converse mode with recording activated.
The command 'record off' stops recording and closes the file.
>> Example: record dump/record/12345.rec
:remote
remote [-p <port>] [-k <key>] [-a <kickaddr>] <host> kick | exit | reset
Send a UDP packet to the specified host commanding it to exit
NOS, reset the processor, or force a retransmission on TCP
connections.
For this command to be accepted, the remote system must be
running the remote server. Also, the port number specified in
the remote command must match the port number given when the
server was started on the remote system.
If the port numbers do not match, or if the remote server is not
running on the target system, the command packet is ignored.
Even if the command is accepted there is no acknowledgement.
The 'kick' subcommand forces a retransmission timeout on all TCP
connections that the remote node may have with the local node.
If the '-a' option is used, connections to the specified host are
kicked instead. No key is required when using the 'kick'
subcommand.
The 'exit' and 'reset' subcommands are mainly useful for
restarting NOS on a remote unattended system after the
configuration file has been updated. The remote system should
invoke NOS automatically upon booting, preferably in an infinite
loop.
remote -s [<key>]
The 'exit' and 'reset' subcommands of 'remote' require a
password. The password is set on a given system with the '-s'
option, and it is specified in a command to a remote system with
the '-k' option.
If no password is set with the '-s' option, then the 'exit' and
'reset' subcommands are disabled.
Note that 'remote' is an experimental feature in NOS; it is not
yet supported by any other TCP/IP implementation, although a
version of the remote command for BSD Unix exists.
:rename
rename <oldfilename> <newfilename>
Renames <oldfilename> to <newfilename>.
>> Example: rename foo.bar foo2.bar
:reset
reset [<session_number>]
Reset the specified session; if no argument given, reset the current session.
This command should be used with caution since it does not reliably inform the
remote end that the connection no longer exists. In TCP a reset (RST) message
will be automatically generated should the remote TCP send anything after a
local reset has been done. In AX.25 the DM message performs a similar role.
Both are used to get rid of a lingering half-open connection after a remote
system has crashed.
>> Example: reset 3
rip <subcommand>
The commands given here are used for RIP. After this list of
commands is the list for RIP-2. The RIP-2 implementation includes
compatibility with RIP-1. The sets of commands are separated here to
improve clarity.
rip accept <gateway>
Remove the specified gateway from the RIP filter table,
allowing future broadcasts from that gateway to be accepted.
rip add <hostid> <seconds> <flags>
Add an entry to the RIP broadcast table. The IP routing table
will be sent to <hostid> every interval of seconds. If <flags> is
specified as 1, then "split horizon" processing will be performed
for this destination. That is, any IP routing table entries
pointing to the interface that will be used to send this update
will be removed from the update. If split horizon processing is
not specified, then all routing table entries except those
marked "private" will be sent in each update. (Private entries
are never sent in RIP packets). If flags is 2, the broadcast
will also advertise a route to the system itself. Flags are
accumalative, ie a value of 3 will mean both "split horizon" and
"me too". See also the 'route' command.
Triggered updates are always done. That is, any change in the
routing table that causes a previously reachable destination to
become unreachable will trigger an update that advertises the
destination with metric 15, defined to mean "infinity".
Note that for RIP packets to be sent properly to a broadcast
address, there must exist correct IP routing and ARP table
entries that will first steer the broadcast to the correct
interface and then place the correct link-level broadcast address
in the link-level destination field. If a standard IP broadcast
address convention is used (e.g. 44.26.0.0 or 44.26.255.255) then
chances are you already have the necessary IP routing table entry
(unusual subnet or cluster-addressed networks may require special
attention!) However, an 'arp add' command will be required to
translate this address to the appropriate link level broadcast
address; For example, arp add 44.255.255.255 ax25 qst-0
for an AX25 packet radio channel. (If there are multiple AX25
interfaces, make a unique address for each interface.)
rip drop <dest>
Remove an entry from the RIP broadcast table.
rip kick
Immediate command to send a rip update.
rip merge [on|OFF]
(B) This flag controls an experimental feature for consolidating
redundant entries in the IP routing table. When rip merging is
enabled, the table is scanned after processing each RIP update.
An entry is considered redundant if the target(s) it covers would
be routed identically by a less "specific" entry already in the
table. That is, the target address(es) specified by the entry in
question must also match the target addresses of the less
specific entry and the two entries must have the same interface
and gateway fields. For example, if the routing table contains
Dest Len Interface Gateway Metric P Timer Use
44.2.3.4 32 ax0 44.96.1.2 1 0 0 0
44.2.3.0 24 ax0 44.96.1.2 1 0 0 0
then the first entry would be deleted as redundant since packets
sent to 44.2.3.4 will still be routed correctly by the second
entry. Note that the relative metrics of the entries are ignored.
rip refuse <gateway>
Refuse to accept RIP updates from the specified <gateway> by
adding the gateway to the RIP filter table. It may be later
removed with the 'rip accept' command.
rip request <gateway>
Send a RIP Request packet to the specified <gateway>, causing it
to reply with a RIP Response packet containing its routing table.
rip status
Display RIP status, including a count of the number of packets
sent and received, the number of requests and responses, the
number of unknown RIP packet types, and the number of refused RIP
updates from hosts in the filter table. A list of the addresses
and intervals to which periodic RIP updates are being sent is
also shown, along with the contents of the filter table.
rip trace [0|1|2] Default is 0.
(B) This variable controls the tracing of incoming and outgoing
RIP packets. Setting it to 0 disables all RIP tracing. A value of
1 causes changes in the routing table to be displayed, while
packets that cause no changes cause no output. Setting the
variable to 2 produces maximum output, including tracing of RIP
packets that cause no change in the routing table.
rip ttl <seconds>
(B) Displays or sets the time to live timer to 'seconds'. Normal
time-out value is 240 seconds. This is not the ttl in a rip
broadcast (16 = infinite). Set this timer before starting rip.
Change this timer only in cooperation with your surrounding
nodes. Default is 240 seconds.
End of RIP-1 commands.
*********************************************************************
The following text is provided by N0POY who did the NOS
implementation of RIP-2.
This document covers the implementation of RIP-2 (RFC 1388) in
NOS. Specifically the WG7J version of NOS. RIP-2 is an enhanced
version of the RIP protocol (RFC 1058). RIP and RIP-2 are an interior
gateway protocol (IGP). RIP-2 for NOS was implemented by Jeff White,
N0POY.
This documentation is for the beta release V0.9 of RIP-2
RIP-2 Features
The NOS implementation implements all features of the normal RIP
protocol (RFC 1058) and all features of the RIP-2 protocol (RFC 1388)
except multicasting (which NOS does not currently implement) and Route
Tags (NOS does not implement any EGPs).
Features include:
Routing Domains
Authentication
Proxy routing
Filtering of naughty nodes
Optional refusal of a default route
Enhanced logging and tracing
Route subnet masks correctly maintained
Optional refusal to accept older RIP version broadcasts
Mixing of RIP-1 and RIP-2 support
NOS RIP COMMANDS
RIP ACCEPT <gateway>
The RIP ACCEPT command resumes the acceptance of RIP broadcasts from a
specific node given in the <GATEWAY> field.
RIP ACCEPT 192.55.248.1 or
RIP ACCEPT skeggi.tcman.ampr.org
RIP ADD <DEST> <INTERVAL> [<FLAGS>] [<RIPVER>] [AUTH <PASSWORD>]
[RD <routing domain>]
The RIP ADD command adds a node to the list of stations that are
to be broadcast to with the local nodes routing table.
<DEST> is the destination node, usually a broadcast address.
<INTERVAL> is the number of seconds between broadcasts.
<FLAGS> are the RIP flags used (see below for the flags), it
is a hexadecimal number.
<RIPVER> is the version of the RIP broadcasts. This may be a
1 or 2. The AUTH identifier preceeds the
authentication password to be included with the RIP
broadcasts to this destination.
The RD identifier preceeds the routing domain number. This
number must range from 0 to 65535.
The authentication fields and routing domain fields are only
valid with RIP-2 broadcasts. The password must be 16 characters
or fewer. Printable ASCII characters are recommended, but not
required.
RIP FLAGS
0x01 Do 'split horizon' processing
0x02 Include ourselves in the routing broadcast
0x04 Broadcast RIP packets (default type)
0x08 Multicast RIP packets (not implemented) (RIP-2)
0x10 Poisoned Reverse on
0x20 Authentication data to be included in broadcast (RIP-2)
Recommend flags are Split Horizon, and Poisoned Reverse or 0x11.
Authentication and routing domain data entered here only applies
to the outgoing RIP broadcasts. See RIP AUTHADD and RIP AUTHDROP
for entering acceptable passwords and routing domains.
Example:
RIP ADD SKEGGI.TCMAN.AMPR.ORG 30 0x31 2 AUTH frodo RD 2
RIP ADD BIGGUS.TCMAN.AMPR.ORG 300 0x11 1
RIP PROXY <SRC> <DEST> <INTERVAL> [<FLAGS>] [AUTH <PASSWORD>
[RD <ROUTING DOMAIN>]
The RIP PROXY command adds a node to the list of stations that
are to be broadcast to with the local nodes routing table.
<SRC> is the node that the broadcast will "point" to.
<DEST> is the destination node, usually a broadcast address.
<INTERVAL> is the number of seconds between
broadcasts.
<FLAGS> are the RIP flags used (see below for the flags), it
is a hexadecimal number.
The AUTH identifier preceeds the authentication password to be
included with the RIP broadcasts to this
destination.
The RD identifier preceeds the routing domain number. This
number must range from 0 to 65535.
The authentication fields and routing domain fields are only
valid with RIP-2 broadcasts. The password must be 16 characters
or fewer. Printable ASCII characters are recommended, but not
required.
RIP FLAGS
0x01 Do split horizon processing
0x02 Include ourselves in the routing broadcast
0x04 Broadcast RIP packets (default type)
0x08 Multicast RIP packets (not implemented) (RIP-2)
0x10 Poisoned Reverse on
0x20 Authentication data to be included in broadcast (RIP-2)
Recommend flags are Split Horizon, and Poisoned Reverse or 0x11.
Authentication and routing domain data entered here only apply to
the outgoing RIP broadcasts. See RIP AUTHADD and RIP AUTHDROP
for entering acceptable passwords and routing domains.
Proxy RIP is tricky, complex and not needed for normal use. Do
NOT use proxy rip unless you understand what you are doing.
Proxy RIP's primary use would be to advertise routes to another
machine that is aquiring routing information via another routing
protocol. See RFC 1388 for further details.
RIP DROP <dest> [<DOMAIN>]
RIP DROP removes a routing broadcast entry. If a RIP-2 broadcast was
entered, the correct routing domain needs to be entered, since it is
possible to broadcast multiple routing domains to the same address.
Example:
RIP DROP SKEGGI.TCMAN.AMPR.ORG 2
RIP AUTHADD <interface> <routing domain> [<password>]
RIP AUTHADD adds an acceptable routing domain and optionally a
password to a specific interface.
Example:
RIP AUTHADD ax0 2 frodo
RIP AUTHADD en0 3
RIP AUTHDROP <interface> <routing domain>
RIP AUTHDROP removes an acceptable routing domain (and password
if any) from a specific interface.
Example:
RIP AUTHDROP ax0 2
RIP REJECT <version>
RIP REJECT is used to ignore older RIP broadcasts, as they may
cause undesirable routing table alterations. The version number
is the version number and below that are ignored. RIP version 0
(XNS RIP) is always ignored. The default is 0.
To ignore RIP-1 broadcasts: RIP REJECT 1 would do the job.
RIP FILTER <ON|OFF>
RIP FILTER will cause advertisements to the default route
(0.0.0.0) to be tossed and ignored. By default this is off.
This can serve as a LID filter. Default routes should NOT be
advertised, unless there is a specific reason (ie this machine is
a gateway to the rest of the Internet).
RIP MERGE <on|OFF>
RIP MERGE will cause overlapping routing entries to be merged
into one routing entry.
For example N0BEL.TCMAN.AMPR.ORG is a route to 192.133.30.0/28,
and 192.133.30.16/28, with merging on this would become a single
entry of 192.133.30.0/27.
RIP REFUSE <gateway>
RIP REFUSE will reject all RIP broadcasts from the GATEWAY
station. RIP ACCEPT is the opposite. By default all stations
are accepted.
RIP REQUEST <GATEWAY>
RIP REQUEST asks the gateway station to send a routing table now,
rather than waiting for periodic updates.
RIP STATUS
RIP STATUS will display various statistics for RIP-1 and RIP-2,
RIP broadcasts, RIP refusals, and acceptable Interface, Domain
and Password combinations. It also displays the refusing version
level. The DEFAULT interface is for every interface. Thus
unless removed, and RIP-2 broadcast with a domain of 0 does not
require a password and will be accepted.
RIP TRACE <level> [<FILE>]
RIP TRACE will begin tracing RIP operations. The higher the
level, the more detailed the logging. Level 9 is the useful
maximum, with level 0 (the default) being no logging. If a file
is specified, logging will go to that file, else logging appears
on the console.
RIP TTL <time-To-LIVE>
RIP TTL sets the time-to-live before RIP entries expire from the
routing tables. The default should work for almost all cases.
End of RIP-2 Description
:rlogin
rlogin <host>
Sets up an 'rlogin' session via port 511 to a Unix-compatible
host. Default terminal is a vt100-compatible terminal (with
keyboard mappings as defined with the 'fkeys' command).
:rmdir
rmdir <directory>
Remove a sub-directory from the current working directory. The sub-directory
must be empty before 'rmdir' can be used.
See also: rd
>> Example: rmdir tmp
:route
route [<subcommand>]
With no arguments, 'route' displays the IP routing table.
route add <desthostid>[/bits] default <iface> [<gatewayhostid> |
direct] [metric]
NOTE: Attempting tcp connections to an address without an
existing route fails immediately.
This command adds an entry to the routing table. It requires at
least two more arguments, the desthostid of the target
destination and the name of the interface <iface> to which its
packets should be sent. If the destination is not local, the
gateway's hostid should also be specified. (If the interface is a
point-to-point link, then <gatewayhostid> may be omitted even if
the target is non-local because this field is only used to
determine the gateway's link level address, if any. If the
destination is directly reachable, <gatewayhostid> is also
unnecessary since the destination address is used to determine
the interface link address). If <rspf> is used and the system is
a switch / router to multiple routes, the keyword 'direct' can be
used instead of a <gatewayhostid> to set the metric higher than
the default of 1. This way routes advertised by other rspf
stations can be cheaper and get selected. If 'direct' is given
but <metric> not, an new algorithm is used to set the metric
dependent on the number of subnet mask bits.
The optional /bits suffix to the destination host id specifies
how many leading bits in the host id are to be considered
significant in the routing comparisons. If not specified, 32
bits (i.e., full significance) is assumed. With this option, a
single routing table entry may refer to many hosts all sharing a
common bit string prefix in their IP addresses. For example,
ARPA Class A, B and C networks would use suffixes of /8, /16 and
/24 respectively. E.g. the command
route add 44/8 ax0 44.64.0.2
causes any IP addresses beginning with "44" in the first 8 bits
to be routed to 44.64.0.2; the remaining 24 bits are "don't-
cares".
When an IP address to be routed matches more than one entry in
the routing table, the entry with largest 'bits' parameter (i.e.,
the "best" match) is used. This allows individual hosts or blocks
of hosts to be exceptions to a more general rule for a larger
block of hosts.
The special destination 'default' is used to route datagrams to
addresses not matched by any other entries in the routing table;
it is equivalent to specifying a /bits suffix of /0 to any
destination hostid. Care must be taken with 'default' entries
since two nodes with default entries pointing at each other will
route packets to unknown addresses back and forth in a loop until
their time-to-live (TTL) fields expire. (Routing loops for
specific addresses can also be created, but this is less likely
to occur accidentally).
There is one built-in interface: loopback. Loopback is for
internal purposes only.
Here are some examples of the route command:
# Route datagrams to IP address 44.0.0.3 to SLIP line #0.
# No gateway is needed because SLIP is point-to point.
route add 44.0.0.3 sl0
# Route all default traffic to the gateway on the local Ethernet
# with IP address 44.0.0.1
route add default ec0 44.0.0.1
# The local Ethernet has an ARPA Class-C address assignment;
# route all IP addresses beginning with 192.4.8 to it
route add 192.4.8/24 ec0
# The station with IP address 44.0.0.10 is on the local AX.25
channel
route add 44.0.0.10 ax0
#An encapsulation link to 192.4.8.12 where the subnet 44.64.0.0
is accessible. The Internet does not know
#where we are but we just use them with what they know:
route add 44.64.0.0/16 encap 192.4.8.12 4
route addprivate <dest hostid>[/bits] | default <iface>
[<gateway hostid> [<metric>]]
This command is identical to 'route add' except that it also
marks the new entry as private; it will never be included in
outgoing RIP updates. It will also not be shown in the nodeshell
'IProute' command.
route drop <dest hostid>
Delete an entry from the table. If a packet arrives for the
deleted address and a default route is in effect, it will be
used.
:rspf
rspf <subcommand>
RSPF is the Radio Shortest Path First protocol. Each station
listens for RRH (Router to Router Hello) messages. When such a RRH
message is received, it will figure out if the link is bi-directional
by pinging the other station. The protocol is described in the RSPF
2.1 specification.
rspf interface <interface> <quality> <horizon>
<interface> is the required interface rspf should use. quality
is from 1 to 127, horizon is between 1 to 255. End nodes
should have the quality set to 1. Immediate nodes normally set
the quality to 8. The normally used value for horizon is 32.
rspf mode [vc | datagram | none]
(B) Display the preferred mode for RSPF. Modes are vc (Virtual
Circuit) and datagram. none resets the preferred mode.
rspf rrhtimer [seconds]
(B) Display or set the rrh timer value.
rspf suspecttimer [<seconds>]
(B) Display or set the suspect timer value.
rspf timer [<seconds>]
(B) Display or set the update timer value.
:session
session [<session_number>] [flowmode [on|off]] Default: off
NOS can handle multiple sessions. For example, you can have an
FTP file transfer running at the same time as a Telnet session.
To monitor the sessions, use the 'session' command without
arguments. This will give an output of the form:
...............................................................
# S# Type Rcv Snd State Remote socket
Q Q
1 -1 More 0 0 Limbo! scripts/source/fkeys.lst
2 144 FTP 0 0 Established ns9ken (ns9ken:ftp)
3 148 Finger 0 1 SYN sent ns9bob@ns9bob (ns9bob:finger)
*4 151 Telnet 0 1 SYN sent ns9gwa (ns9gwa:telnet)
5 154 Telnet 0 0 Established Local BBS (ns9ken:telnet)
..............................................................
The session marked with an asterisk is the current session; to switch to that
session, simply hit CR.
To switch to another session, give the 'session' command with a session number.
To exit from a session back to the 'net>' prompt, hit <F10>.
The <flowmode> option controls the operation of the 'more' command for that
session. This is handy, for example, for long directory listings coming from
an FTP session. Escaping to command mode before issuing an FTP 'dir' command
and setting flowmode 'on' gives a page at a time to look at. At any time you
can escape out again and switch flowmode off.
>> Example: session 3
session 5 flowmode on
:script
script <scriptname> [back]
Executes an Information Server Script File directly from the Command Session.
If the third parameter is "back", the script is executed non-interactively
with no user I/O stream.
:shell
shell [<DOS_external_command>]
The 'shell' command suspends NOS and let you escape to a sub-shell
(e.g. COMMAND.COM in DOS).
If 'multitask' is set to 'off', NOS activity is frozen while you are working
under the sub-shell.
When you leave the sub-shell (with the EXIT command in DOS), you are returned
to NOS.
Note that for the 'shell' and '!' commands to be useful there must be
sufficient unused memory for the sub-shell and any commands which you wish to
run under the sub-shell.
You can also execute an external DOS command from NOS.
[Internal DOS commands such as 'cd' or 'dir' or 'copy' do not work].
See also: !, multitask and xspawn
>> Examples: sh
sh edlin test
:skick
skick <socket#>
This is a shorthand for the various 'kick' subcommands. This one
searches the socket for correct type and kicks the transport layer.
:smtp
smtp <subcommand>
These commands are used for the Simple Message Transport
Protocol service (that is, mail).
smtp batch [yes | no]
If set smtp will batch the commands into one frame. When off
only one command is sent and a response is waited for. Some old
and flaky smtp servers cannot handle more than one command at a
time. NOS can handle multiple. If you are not hindered by an
old smtp server, setting batch reduces bandwidth.
smtp bidcheck [ON | off]
Sets or displays status of smtp bidchecking. Default is ON.
If ON, incoming messages with dupe bids are rejected, with an
error message being sent to the sender.
smtp dtimeout [<hours>] Default: 0
Displays or sets the number of hours a message will remain in
the smtp mqueue before being returned to sender. Delivery attempts
are made at "smtp timer" intervals. If <hours> is zero, the message
remains in mqueue indefinitely.
smtp gateway [<hostid>]
Displays or sets the host to be used as a "smart" mail relay.
Any mail sent to a host not in the domain.txt file or not found
via a nameserver query, will instead be sent to the gateway for
forwarding (if defined).
smtp kick
Run through the outgoing mail queue and attempt to deliver any
pending mail. This command allows the user to "kick" the mail
system manually. Normally, this command is periodically invoked
by a timer whenever NOS is running.
smtp kill [<jobid>]
Kill <jobid> and delete the message.
smtp list
List the current jobs. An "L" means locked and in progress. It
is wise to add in autoexec.bat a "del /spool/mqueue/*.lck"
command.
smtp maxclients [<count>]
Displays or sets the maximum number of simultaneous outgoing
SMTP sessions that will be allowed. The default is 10. Reduce
<count> if network congestion is a problem.
smtp mode [queue | ROUTE]
Sets the smtp delivery mode. If 'queue', all messages are left
in /spool/rqueue for external forwarding and handling. If
'route', messages are handled and, if for local, appended to a
mailbox, or if remote they are forwarded. Default = 'route'
smtp quiet [YES | no]
Enables or disables the message that new mail arrived at this
system.
smtp t4 [<seconds>]
Displays or sets a t4 timer for smtp client (outgoing) sessions
so that they will disconnect after a period of inactivity and
prevent lockups. Default = 0, i.e., no disconnect timeout.
smtp tdisc [<seconds>]
Displays or sets a disconect timer for smtp server (incoming)
sessions so that they will disconnect after a period of inactivity
and prevent lockups. Default = 0, i.e., no disconnect timeout.
smtp timer [<seconds>]
Displays or sets the interval, between scans of the outbound mail
queue. For example, smtp timer 600 will cause the system to
check for outgoing mail every 10 minutes and attempt to deliver
anything it finds, subject of course to the smtp maxclients
limit. Setting a value of zero disables queue scanning
altogether. This value is recommended for standalone IP
gateways that never handle mail, since it saves wear and tear on
the (floppy) disk drive. Default = 0
smtp trace [<value>]
Displays or sets the trace flag in the SMTP client, allowing you
to watch SMTP's conversations as it delivers mail. Zero (the
default) disables tracing. A trace value of 1 just enables the
"new mail for n5knx from <k5arh@w5ddl.ampr.org>". Larger values
produce more voluminous trace output.
smtp usemx [yes | NO]
Displays or sets a flag enabling or disabling MX record lookups.
This can be enabled if a domain server is available in the near
distance (reachable). It should be disabled (default) if no
domain server is in reach to satisfy the MX query. Note that
MX record handling is very limited in NOS. If an answer from a
domain name server comes in it is taken to be the destination.
:socket
socket [<socket_ref_number>]
Without an argument, the 'socket' command displays all active local sockets,
giving their type, the address of the associated protocol control block (PCB),
remote socket if connected, and the owner's process ID and name.
To get more detailed information about the status of a particular socket, you
can include the socket reference number <S#> in the socket command.
:source
source <script_filename>
The 'source' command runs a set of NOS commands which are in
<script_filename>. This is a very convenient way of executing a series of
commands without having to enter them individually at the keyboard.
>> Example: source routing1.nos
:split
split <interface> <callsign> [<digi_callsign> ...]
This command is exactly like the "connect" command, except you are place
in a TTYLINK (split) screen.
See also: connect
:start
start ax25|callbook|convers|daytime|discard|echo|finger|ftp|info|netrom|news|
:start
nntp|pop|pop2|pop3|quote|remote|rip|smtp|telnet|time|tip|ttylink|tutor
Start the specified Internet server, allowing remote connection requests.
Normally these servers are started in the AUTOEXEC.NOS file. However, you may
not want to start all of the servers automatically. For example, you may not
want to start the Telnet server until you know you will be available at the
keyboard to respond. You can then enter 'start telnet' from the Command
Session prompt to activate the server.
The one server that requires other parameters is "tip". The syntax is:
start tip iface [modem]
If the "modem" parameter is given, then connection start when DCD is asserted
and are dropped by bringing DCD and DTR low. Leave this parameter off for
direct connections to a terminal.
>> Example: start ttylink
:statline
statline [on | off]
Displays/toggles the state of the Command Session's status line. All sessions
started inherit this property. Each individual session can be toggled on/off,
using the <INSERT> key.
>> Example: statline off
:status
status
The 'status' command displays general system information. This is useful for
monitoring file transfer activity.
:stop
stop ax25|callbook|convers|daytime|discard|echo|finger|ftp|info|netrom|news|
:stop
nntp|pop|pop2|pop3|quote|remote|rip|smtp|telnet|time|tip|ttylink|tutor
Stop the specified Internet server, rejecting any further remote connect
requests. Existing connections are allowed to complete normally.
For example, you could enter 'stop telnet' if you expect to be unavailable to
respond to a Telnet request. Then, when anyone tries to telnet to you, they
will get the message "Closed (Reset)." This is not the most informative
message, but possibly better than waiting endlessly to see if you will
respond to the telnet request.
>> Example: stop pop
:strace
strace [on | off]
Displays/toggles whether trace output is going to a separate trace session.
If this is off, trace output will always go on the current screen.
>> Example: strace on
:tail
tail <filename> [lines]
The 'tail' command displays the tail-end (the last 18 lines) of a file.
>> Example: tail longfile.txt
tcp <subcommand>
These commands are used for the Transmission Control Protocol
service.
Notes:
Attempting outgoing connections to addresses without an
existing route result in Error number 19.
tcp access <permit|deny|delete> <ipaddr[/bits]|all> [loport [hiport]]
Display or set tcp access controls, which determine which TCP services
(ports) are accessible to which IP addresses. Default is to permit
all hosts to access all ports, until the first TCP access command is
entered, at which point all other ports and addresses are denied
unless specifically permitted by subsequent tcp access commands.
This subcommand adds or deletes an access control entry maintained
in an internal table. Entries are scanned in the order that they
were added, to determine if access will be granted. Access is granted
only if an entry with matching ipaddr or range, and ports, is found
with "permit" set before a match with "deny" or no match is found.
The optional /bits suffix to the ipaddr specifies how many leading
bits in the ipaddr are to be considered significant in the address
comparisons. If not specified, 32 bits (i.e., full significance)
is assumed. All addresses can be specified by "all". Loport and
hiport specify the port or range of TCP ports for which the access
control command applies. If "all" is given as the loport, or if no
port range is specified, all ports are assumed, ie, 1 to 65534.
"tcp access" will display the table of current access control entrys.
Access commands should be entered from the most specific ipaddr to the
least specific, since the first match (permit or deny) encountered
in the internal table is returned.
#Example:
#Allow a specific AMPRnet host SMTP access
tcp access permit 44.76.1.199 25
#but deny all other services to him
tcp access deny 44.76.1.199
#Allow all other AMPRnet hosts full access to TCP services
tcp access permit 44.76.1/24 all
#Allow a specific subnet access to ports 1 through 25,
#which includes echo, discard, ftp, telnet, and smtp.
tcp access permit 23.1.46/24 1 25
#Note that all other hosts not matched above, are denied access
tcp irtt [<milliseconds>]
(B) Display or set the initial round trip time estimate, in
milliseconds, to be used for new TCP connections until they can
measure and adapt to the actual value. The default is 5000
milliseconds (5 seconds). Increasing irtt when operating over
slow channels will avoid the flurry of re-transmissions that
would otherwise occur as the smoothed estimate settles down at
the correct value. Note that this command should be given before
servers are started in order for it to have effect on incoming
connections.
TCP also keeps a cache of measured round trip times and mean
deviations (MDEV) for current and recent destinations. Whenever
a new TCP connection is opened, the system first looks in this
cache. If the destination is found, the cached IRTT and MDEV
values are used. If not, the default IRTT value mentioned above
is used, along with a MDEV of 0. This feature is fully
automatic, and it can improve performance greatly when a series
of connections are opened and closed to a given destination (e.g.
a series of FTP file transfers or directory listings).
tcp kick <tcb_addr>
If there is unacknowledged data on the send queue of the
specified TCB, this command forces an immediate retransmission.
<tcb addr> can be found with the 'tcp status' command.
tcp maxwait [<msec>]
Set or show the maximum time for retry timeout in milliseconds.
Default = 0, no maximum.
tcp mss [<size>]
(B) Display or set the TCP Maximum Segment Size in bytes that
will be sent on all outgoing TCP connect request (SYN segments).
This tells the remote end the size of the largest segment
(packet) it may send. Changing MSS affects only future
connections; existing connections are unaffected.
tcp reset <tcb_addr>
Deletes the TCP control block at the specified address.
tcp retries [<num>]
(B) Display or set the number of retries before a tcp connection
will be reset. Default is 16. This is useful to eliminate idle
connections that have not been properly shut down. Default = 0,
there is no maximum, i.e. a connection will never retry out.
tcp rtt <tcb_addr> <milliseconds>
Replaces the automatically computed round trip time in the
specified TCB with the rtt in milliseconds. This command is
useful to speed up recovery from a series of lost packets since
it provides a manual bypass around the normal backoff
retransmission timing mechanisms.
tcp status [<tcb_addr>]
Without arguments, displays several TCP-level statistics, plus a
summary of all existing TCP connections, including TCB
address, send and receive queue sizes, local and remote sockets,
and connection state. If <tcb addr> is specified, a more
detailed dump of the specified TCB is generated, including send
and receive sequence numbers and timer information.
tcp syndata [yes | NO]
(B) Display or set the tcp syn + data piggybacking flag. Some
tcp systems cannot handle syn + data together.
tcp timertype [linear | exponential]
(B) Display the current setting or set the timer type backoff
algorithm. Default is linear.
tcp trace [yes | NO]
(B) Display or set the tcp trace flag on or off.
tcp window [<size>]
(B) Displays or sets the default receive window size in bytes to
be used by TCP when creating new connections. Existing
connections are unaffected.
:telnet
telnet <host> [<port_number>] Default port_number: 23
The 'telnet' command allows you to initiate a connection using the Telnet
protocol. The end result is much the same as doing an AX.25 connect in most
cases, but you'll be taking advantage of the attributes of the TCP/IP protocols.
The command creates a Telnet session to the specified host. With the default
port number (23), a connection is made to the Telnet server at the remote host.
If the remote host is running a NOS Telnet server (i.e. the host has issued
the command 'start telnet'), you will be connected to the BBS on that host.
See the 'bbs' command.
Once the connection is made, you can then type back and forth just as if you
were connected with a normal TNC. When you're done, use the <F10> key to
escape back to command mode, and then type 'close' to close the connection.
The Telnet session can be recorded to a file (using the 'record' command), or
an ASCII file can be uploaded instead of entering the information at the
keyboard (using the 'upload' command).
>> Examples: telnet ns9ken
telnet ns9liz 87 (same as 'ttylink ns9liz')
telnet ns9ken 25 (talk to SMTP)
The following is a list of the common port numbers used by TNOS:
7 ECHO 25 SMTP 513 RLOGIN
9 DISCARD 37 TIME 1235 CALLBOOK
13 DAYTIME 79 FINGER 3597 NEWS CENTER
17 QUOTE 87 TTYLINK 3598 INFORMATION CENTER
20 FTP-data 109 POP-2 3599 LEARNING CENTER
21 FTP-control 110 POP-3 3600 CONFERENCE BRIDGE
23 TELNET 119 NNTP
:thirdparty
third-party [on|off] Default: on
Display or set the third-party flag. When set to 'on', the
mailbox will handle third-party messages. [Most amateurs are not
permitted to do this].
>> Example: third-party off
:time
Returns the current date and time
tip <interface> (asyc only!)
Start a Terminal Interface Protocol (TIP) session that connects to the
specified interface in "dumb terminal" mode.
All data subsequently transmitted and received via the interface are raw
characters, without any protocol envelope. Any packet traffic (IP datagrams,
etc) routed to the interface while a 'tip' session exists will be discarded.
The interface must have already been attached with the 'attach' command.
To close a 'tip' session, use the 'reset' command. The interface will then
revert to normal slip, nrs or kiss mode operation.
This feature is primarily useful for manually communicating with a serial
device (e.g. a TNC operating in native "cmd:" mode), or for establishing SLIP
connections via modems.
>> Example: tip tnc0
:trace
trace [<interface> [off | <BTIO_flags> [<tracefile>]]]
Controls packet tracing by the interface drivers.
The Broadcast/Type/Input/Output (BTIO) flag settings specify the amount of
information produced. Tracing is controlled on a per-interface basis; without
arguments, 'trace' gives a list of all defined interfaces and their tracing
status. The BTIO settings are expressed as a hexadecimal number as follows:
B=1: Broadcast filter flag enabled. Only packets specifically addressed to
this interface will be displayed. Broadcast packets will be ignored.
B=0: Broadcast filter flag disabled.
T=2: Protocol headers are decoded, and the entire packet (headers AND data)
is also displayed in hexadecimal and ASCII, 16 characters per line.
Unprintable characters are displayed as dots.
T=1: Protocol headers are decoded, and data (but not the headers themselves)
are displayed as ASCII characters, 64 characters/line.
T=0: Protocol headers are decoded, but data is not displayed.
I=1: Enable tracing of input packets.
I=0: Disable tracing of input packets.
O=1: Enable tracing of output packets.
O=0: Disable tracing of output packets.
By default, trace output is displayed on the screen.
If a <trace_filename> is given, trace output is saved in the specified file.
The trace file is closed by setting the BTIO flags to 000.
>> Examples: trace tnc0 211 tnc0.trc (save trace in 'tnc0.trc')
trace tnc0 0 (stop trace & close file)
:tutor
tutor [hostname]
Start an Internet connection to the Learning Center (TUTOR) at "hostname", or
on the local system if no "hostname" is given
>> Example: tutor ko4ks.ampr.org
:ttylink
ttylink <host> [<port_number>] Default: 87
The 'ttylink' command starts a session with <host> using
the split screen mode.
udp status
Display the status of all UDP receive queues.
:upload
upload [<filename>]
The 'upload' command without a parameter returns the current upload status.
When a filename is specified in the command, the file is opened and sent as
though it were typed on the terminal.
The file must be ASCII, not binary. If you want to upload a binary file,
you must first convert it to ASCII, using 'uuencode' for example.
If you are in converse mode and want to initiate uploading, you will need to
use the <F10> key to escape back to command mode to issue the 'upload'
command. The uploading is initiated, but the file contents are not displayed
on the screen during the uploading.
To find out when uploading is finished, use the 'upload' command from time to
time. While uploading is in progress, it will report "Uploading
<filename>", and when uploading is finished it will report "Uploading off".
>> Example: upload foo.txt
:version
version
The 'version' command displays information about the TNOS package.
:watch
watch [on|off] Default: off
The 'watch' command displays the current software stopwatch values, with min
and max readings for each. This facility allows a programmer to measure the
execution time of critical sections of code with microsecond resolution.
This command is supported only on the IBM PC, and the meaning of each
stopwatch value depends on where the calls have been inserted for test
purposes; the distribution copy of NOS usually has no stopwatch calls.
[With some machines it may be essential to keep 'watch' turned off, as there
are unwanted side effects if it is turned on.]
:watchdog
watchdog [on | off] Default: off
Display or set the watchdog timer.
If internal operations cease for 300 seconds and watchdog is enabled, a
system reset is performed. This is useful for remote sites.
See also the 'remote' command.
>> Example: watchdog on
:wpages
wpages
:write
write <username|sock#> <message>
Send a message to a particular user. <message> is the message, if
"more then one word, put it in quotes." <username|sock#> can be
either the user name of a nodeshell user, or a valid socket number.
The latter allows you to send a message to a network conference user
E.g.: 'write wg7j "this is a test!"'
The message will be shown as:
'<bell>*** Message from Sysop: this is a test!'
:writeall
writeall <message>
Send a message to all nodeshell or conference call users. E.g.
when you've changed some things that require remote rebooting, you can
warn users of the shutdown.
:xspawn
xspawn [on | off]
Displays/toggles whether all DOS memory will be used for "shell" commands. If
"xspawn" is on, TNOS will be swapped to XMS (or disk, if no extended memory
is available). When the command executed is complete, TNOS is restored. If
this option is set, the state of the "multitask" command is ignored, since
TNOS can't be swapped out AND also multitasking.
See also: !, shell, and multitask